我刚刚做了一个这样的场景:
function first()
{
return new Promise(function(resolve, reject)
{
setTimeout((function()
{
console.log("first");
}), 2000);
});
}
function main()
{
first();
console.log("second")
}
main();
输出是第二个然后是第一个。如何使用 promise 在第一条控制台消息之后打印第二条控制台消息?我知道有人问类似的问题,但有关于函数和将 promise 存储到变量中的问题。我无法理解如何在我的案例中使用它。
非常感谢
最佳答案
您需要对 Promise
调用 .then
,以便在 Promise 解析时运行函数。您还需要在 setTimeout
中调用 resolve()
来指示您希望 Promise
在超时回调运行时解析:
function first() {
return new Promise(function(resolve, reject) {
setTimeout(function() {
console.log("first");
resolve();
}, 2000);
});
}
function main() {
first()
.then(() => {
console.log("second")
});
}
main();
关于javascript - 如何使用返回的 promise 来运行控制台消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53366691/