Typescript 无效的等待承诺
我有一个TSLint错误,它表示“非承诺值的‘等待’无效”。对于以下行:Typescript 无效的等待承诺,typescript,request,request-promise,Typescript,Request,Request Promise,我有一个TSLint错误,它表示“非承诺值的‘等待’无效”。对于以下行: const response: RequestResponse = <RequestResponse>await this.apiRequest(uri); 既然请求允诺只是扩展了一个允诺,那么是否可以等待它呢?这不起作用的原因是请求允诺使用Bluebird作为允诺库。Tslint在呜咽,因为你在等待蓝鸟的承诺,而不是本地人的承诺 在@types/request promise的顶部,您将找到promise
const response: RequestResponse = <RequestResponse>await this.apiRequest(uri);
既然请求允诺只是扩展了一个允诺,那么是否可以等待它呢?这不起作用的原因是请求允诺使用Bluebird作为允诺库。Tslint在呜咽,因为你在等待蓝鸟的承诺,而不是本地人的承诺 在
@types/request promise
的顶部,您将找到promise override
import Promise=require('bluebird')代码>
为了消除tslint警告,您可以使用本机承诺(request promise native)使用请求库,也可以简单地使用。然后()
而不是wait
来等待已解析的响应
private apiRequest: RequestAPI<request.RequestPromise, request.RequestPromiseOptions, RequiredUriUrl>;
this.apiRequest = request.defaults({
baseUrl: 'https://www.google.com/',
method: 'GET',
encoding: 'utf8'
});
interface RequestPromise extends request.Request, Promise<any> {
promise(): Promise<any>;
}