gpt4 book ai didi

javascript - 为什么 TypeScript 不对 Promise 强制执行 async/await?

转载 作者:行者123 更新时间:2023-12-02 21:38:14 25 4
gpt4 key购买 nike

我有以下代码。 performAsyncAction执行异步操作并返回 Promise<Response> 。在 someFunction ,令我惊讶的是 TypeScript 没有警告在返回 Promise 的函数上使用 wait。

function performAsyncAction() {
return fetch('someservice');
}

function someFunction() {
const result = performAsyncAction(); // Was expecting typescript to give error here
}

我发现了一个可能有帮助的相关 linting 规则 promise-function-async

最佳答案

这不是错误,而是预期的行为。

  1. Promise 早在 async/await 之前就已经存在,你有多种方法来处理它们
  2. 等待 Promise 是函数的内部逻辑,而不是需求
  3. Typescript 很清楚您有 Promise,而不是 Promise 中的值,因此如果您想以错误的方式使用它,它会警告您
  4. 您提供的函数不是异步,因此甚至不可能在那里等待
  5. await/async 和 Promise 在 Javascript 中是同一件事,无论你是 await Promise 还是 .then Promise,它唯一的语法糖(有用)不过有一个)
  6. 很多情况下你不想等待新创建的 Promise,即允许一次处理多个 Promise,从而减少处理请求的时间

关于javascript - 为什么 TypeScript 不对 Promise 强制执行 async/await?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60437285/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com