【发布时间】:2016-12-01 04:44:15
【问题描述】:
我有一个代码段https://jsfiddle.net/h3m10005/
let p = new Promise((resolve, reject) =>{
setTimeout(()=>reject('error'), 5000);
});
p.then(null,(err)=>{
console.log(err);
});
当上面的代码部分被执行时,大约 5 秒后我会看到 error 打印出来。但是,如果我不将 reject() 调用包装在函数中,控制台会立即输出error。例如,
let p = new Promise((resolve, reject) =>{
setTimeout(reject('error'), 5000);
});
p.then(null,(err)=>{
console.log(err);
});
知道为什么会这样吗?谢谢。
【问题讨论】:
标签: javascript promise settimeout es6-promise