我有这个代码:
var myFirstPromise2 = new Promise((resolve, reject) => {
//setTimeout models an operation that takes a long time
setTimeout(function(){console.log('finishTimeout')},60000);
resolve('success');
});
myFirstPromise2.then((successMessage) => {
console.log('yay '+successMessage);
});
Run Code Online (Sandbox Code Playgroud)
输出是:
yay success
finishTimeout
Run Code Online (Sandbox Code Playgroud)
我希望resolve()在冗长的操作完成后执行,以便输出反转.
我也对一般的承诺感到困惑.上面的代码与简单地执行此操作没有区别:
setTimeout(function(){console.log('finishTimeout')},60000);
console.log('yay success');
Run Code Online (Sandbox Code Playgroud)
编辑:放入resolve()内部之间的区别是什么setTimeout:
setTimeout(function() {
console.log('finishTimeout')
console.log("yay success")
},60000)
Run Code Online (Sandbox Code Playgroud)