为什么需要使用await关键字来调用异步方法

时间:2019-03-13 03:25:20

标签: javascript asynchronous async-await

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才能使执行流程明显正确?

1 个答案:

答案 0 :(得分:1)

标记为异步的功能始终返回Promise

来自https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/async_function

  

异步函数是通过事件循环异步操作的函数,它使用隐式Promise返回其结果。