为什么需要使用 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这里变量变成了 a promise

我知道可以通过添加awaitas来解决这种情况const result = await tryToGetResult();,我只是不明白为什么需要在await这里执行流程显然是正确的?

塔利亚

标记为 async 的函数总是返回一个 Promise

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

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么带有 await 关键字的异步方法仍然阻塞主线程?

如何使用async和await关键字进行异步调用

如何在方法内部使用await关键字而不更改方法异步

函数是异步的,但出现无法使用 await 关键字的错误

总是在库的异步方法中使用'async'和'await'关键字吗?

为什么我只能在异步函数内部使用await关键字?

当不使用async / await关键字时,为什么异步单元测试会失败?

没有await关键字的调用async方法到底会发生什么?

使用await关键字的多个API调用的性能下降

使用 Task.WaitAll 方法代替 await 关键字

使用await关键字与在异步函数中省略它有什么区别?

tsc 不会让我使用 await 关键字进行编译,甚至认为我使用的函数是异步的

VueJS-无法在异步函数外使用关键字“ await”

不能在 VUEJS 的异步函数之外使用关键字“await”

如何解决错误:不能在 React 的异步函数之外使用关键字“await”

为什么Dart中没有await关键字的async关键字功能?

为什么我可以在for ... of循环中使用await关键字

Future,async,await 关键字是什么意思?

在tkinter的Tk.after()方法中使用async / await关键字

使用signalR和async await关键字通知asp.net核心中异步长作业的进度

在Dapper中使用Async Await关键字

在哪里使用await关键字-C#

在C#中使用await关键字

为什么需要使此方法异步?

为什么必须将async关键字添加到具有await关键字的函数中?

为什么要使用“最终”关键字?

Python,为什么要使用elif关键字?

为什么要使用params关键字?

调用异步函数的客户端代码是否需要使用await?