文章详情页
javascript - 请问下面这个promise为什么会返回这个值?
问题描述
function timeout(ms) { return new Promise((resolve, reject) => { setTimeout(resolve, ms, ’done’); });}timeout(100).then((value) => { console.log(value);});
请问为什么会返回’done’,setTimeout不是只有两个参数?为什么timeout执行后 resolve会拿到’done’
问题解答
回答1:https://developer.mozilla.org...
向延迟函数传递额外参数的功能
回答2:setTimeout 第一个参数是回掉函数,第二个是延迟回掉的时间,第三个参数之后就是向回掉函数的参数。你的这种写法就相当于
setTimeout(function () { resolve(’done’)}, ms)
标签:
JavaScript
相关文章:
1. 移动端页面文字垂直居中兼容性问题2. angular.js - Angular1使用bootstrap轮播条carousel不能自动轮播3. android - 新建项目卡在Gradle:Resolvedependencies’:app:_debugCompile’4. css3 - 我的css用less写的,eclipse的jsp文件要修改css很麻烦,怎么解决?5. Android Studio 中程序添加不上Xutils 3.0 jar包6. python - 基于scrapy-redis的分布式爬虫运行的时候不能正常运行 遇到的问题如下截图所示7. atom编译器 如何格式化前端代码文件?8. javascript - 关于Js中 this的一道题9. javascript - 关于在angularjs的select中遇到的问题!!10. javascript - 求一套有关于IP地址的JS正则!
排行榜