TypeScript lint或config选项用于禁用隐式联合类型T |在异步方法中承诺<t>

时间:2017-09-29 10:12:36

标签: typescript tslint

我发现忘记在await TypeScript代码中添加async以下以检查缓存变量并从async方法请求它的模式中重复执行相同的错误。问题是我正在使用逐渐类型化的库,并且可以将返回的联合类型传递给无类型的API,而不会出现设计时错误。

public async sample() {
    let address = this.address || this.getAddressAsync();
    let valid = <boolean>this.untypedUtil.validateAddress(address);
    return valid;
}

getAddressAsync返回Primise<string>this.addressstring。该变量变为string | Primise<string>,但this.untypedUtil.validateAddress来自JS,并不关心。手动添加类型注释似乎打败了TS逐渐非侵入式类型的初始愿景,并且许多短语已经很好地保护我免受我的愚蠢错误。

如果我在async方法中,我通常不希望任何T | Promise<T>的{​​{1}}发生这种情况,这似乎是合理的,我希望一个linter规则有警告对此。

用Google搜索但无法找到它。这样的规则/配置是否已存在?

0 个答案:

没有答案