755*_*755 6 typescript visual-studio-code
我正在使用 Visual Studio Code 打字稿,并且想知道是否有一种方法可以让编辑器在出现异步函数调用(函数返回 a Promise)但调用者不等待它时显示某种警告(这样程序员就可以不要意外地假设一个函数是同步的并这样使用它)。
只要您使用打字稿,类型系统就应该提醒您,无论您在何处使用该承诺的解析值,都不能使用该承诺:
function foo(): Promise<number> {
return new Promise(resolve => resolve(123))
}
const myNumber: number = foo() // forgot await
// ^ Type 'Promise<number>' is not assignable to type 'number'.
Run Code Online (Sandbox Code Playgroud)
所以,实际上,typescript 已经做了你想要的事情,只是不是按照你想的方式。
此外,也有充分的理由表明可能不会等待承诺。一个可能是你想要一堆并行的异步操作,所以你收集承诺并传递它们Promise.all。或者也许您处于不允许的最高级别await,并且使用它then更简单。
因此,只需让类型系统按预期工作即可,不用担心。当您开始实际使用等待的值时,如果做错了,就会给您带来类似于上面的类型错误。
| 归档时间: |
|
| 查看次数: |
1322 次 |
| 最近记录: |