Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
TypeScript lint或config选项禁用隐式联合类型T | Promise<;T>;在异步方法中_Typescript_Tslint - Fatal编程技术网

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

TypeScript lint或config选项禁用隐式联合类型T | Promise<;T>;在异步方法中,typescript,tslint,Typescript,Tslint,我发现我反复犯同样的错误,忘记在asyncTypeScript中添加await,方法是检查缓存变量并从async方法请求它。问题是,我正在使用逐渐类型化的库,并且可以将返回的联合类型传递给非类型化的API,而不会出现设计时错误 public async sample() { let address = this.address || this.getAddressAsync(); let valid = <boolean>this.untypedUtil.valida

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

public async sample() {
    let address = this.address || this.getAddressAsync();
    let valid = <boolean>this.untypedUtil.validateAddress(address);
    return valid;
}
public异步示例(){
让address=this.address | | this.getAddressAsync();
让valid=this.untypedUtil.validateAddress(地址);
返回有效;
}
getAddressAsync
返回
Primise
,而
this.address
string
。变量变为
string | Primise
,但
this.untypedUtil.validateAddress
来自JS,不在乎。手动添加类型注释似乎打破了TS渐进式非侵入式类型的最初设想,许多linter已经很好地保护了我免受愚蠢错误的影响

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


谷歌搜索过,但找不到。这样的规则/配置是否已经存在

如果您从异步函数内部调用异步函数而没有使用
wait
或以其他方式明确您的意思,那么typescript请求生成错误时存在一些悬而未决的问题。e、 g.如果问题得到解决,可能会对您有所帮助(但由于问题尚未解决,这只是一个注释而不是答案)。如果您从异步函数内部调用异步函数而未使用
wait
或以其他方式明确您的意思,typescript会要求生成错误,这是一些悬而未决的问题。e、 g.如果问题得到解决,可能会对你有所帮助(但由于问题尚未解决,这只是一个评论,而不是答案)。