
为什么TSlint仍然说“异步函数或方法的返回类型必须是全局Promise类型”?
我不明白出了什么问题。
更新:

发布于 2019-02-18 15:58:45
尝试返回与预期的Promise泛型类型相对应的Promise-wrapped值,如下所示:
@Action
public async register(registerInfo: Account): Promise<boolean> {
const res = await http.post('users/', registerInfo);
return new Promise<boolean>((resolve, reject) => {
resolve(res.data.success);
// Or reject() if something wrong happened
});
// Or simply return a resolved Promise
return Promise.resolve(res.data.success);
}实际上,您还应该能够then()结果:
@Action
public async register(registerInfo: Account): Promise<boolean> {
return await http
.post('users/', registerInfo)
.then(res => res.data.success);
}发布于 2019-02-19 04:03:22
我认为问题在于您试图返回await的结果,而不是捕获并处理结果:
@Action
public async register(registerInfo: Account): Promise<boolean> {
const result = await http.post('users/', registerInfo);
return result.data.success;
}发布于 2021-07-22 21:29:24
方法http.post返回Observable类型,您可以使用toPromise()方法将其转换为Promise。
Like - http.post.toPromise()
https://stackoverflow.com/questions/54742307
复制相似问题