const tryToGetResult = async () => {
const networkResult = await someNetworkRequest();
console.log(networkResult); //Make sure networkResult is resolved to an object
return networkResult;
}
const result = tryToGetResult();
networkResult
已经是一个对象,并且已经使用async/await
处理了该流程。但是我不明白为什么const result = tryToGetResult()
,这里的result
变量却得到了promise
?
我知道可以通过将await
添加为const result = await tryToGetResult();
来解决这种情况,我根本不明白为什么在这里需要await
才能使执行流程明显正确?
答案 0 :(得分:1)
标记为异步的功能始终返回Promise
来自https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/async_function
异步函数是通过事件循环异步操作的函数,它使用隐式Promise返回其结果。