我正在使用" async"功能,有时我忘记添加"等待"对于内部呼叫:
async function doThreeSteps () => {
await firstPromiseReturningFunc();
nonAsyncFunction();
secondPromiseReturningFunc(); //Error here! Need to wait until this call resolves
someOtherStepWhichReliesOnSuccessfullEndingOfPreviousFunction();
}
TypeScript应该可以警告这样的错误,因为TS知道每个函数返回什么类型,是承诺还是值。 我想让TS警告我这类案件。有可能吗?
答案 0 :(得分:4)
TSLint(https://github.com/palantir/tslint)具有“不浮动承诺”规则。它要求某些使用从.then,.catch,await,赋值或返回等函数返回的Promise来完成。
还有一个TypeScript问题:https://github.com/Microsoft/TypeScript/issues/13376