为什么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
复制相似问题