javascript - 这里为什么会打印输出'done'
PHPz
PHPz 2017-04-11 13:07:05
[JavaScript讨论组]
function timeout (ms) {
    return new Promise((resolve, reject) => {
        setTimeout(resolve, ms, 'done');
    });
}

timeout(100).then(value => console.log(value));

这里不是没有给resolve方法传递参数吗?为什么这里可以打印出来?打印的还是setTimeout的第三个参数。setTimeout接收三个参数的吗?我查了下就两个啊

PHPz
PHPz

学习是最好的投资!

全部回复(2)
阿神

你看的文档大概过时了。

var timeoutID = window.setTimeout(func[, delay, param1, param2, ...]);
var timeoutID = window.setTimeout(code[, delay]);

需要注意的是,IE9 及更早的 IE 浏览器不支持第一种语法中向延迟函数传递额外参数的功能。

https://developer.mozilla.org...

大家讲道理

向后的传递的参数就是给setTimeOut中的func传递的参数,打印出来是done

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号