【发布时间】:2018-02-03 05:10:29
【问题描述】:
我正在尝试学习异步等待。在这段代码中 -
const myFun = () => {
let state = false;
setTimeout(() => {state = true}, 2000);
return new Promise((resolve, reject) => {
setTimeout(() => {
if(state) {
resolve('State is true');
} else {
reject('State is false');
}
}, 3000);
});
}
const getResult = async () => {
return await myFun();
}
console.log(getResult());
为什么我的输出是 -
Promise { <pending> }
而不是一些价值? getResult() 函数不应该等待 myFun() 函数解析它的承诺值吗?
【问题讨论】:
-
异步函数总是返回一个承诺。 getResult 正在等待 myFunc 解决。然后它在 promise 中返回值。
标签: javascript node.js asynchronous ecmascript-2017