答案 0 :(得分:0)
尝试返回与Promise
的预期通用类型相对应的Promise
包装的值,如下所示:
@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);
}
答案 1 :(得分:0)
我认为问题在于您正试图返回await的结果,而不是捕获结果并对其进行处理:
@Action
public async register(registerInfo: Account): Promise<boolean> {
const result = await http.post('users/', registerInfo);
return result.data.success;
}
答案 2 :(得分:0)
方法 http.post
返回 Observable
类型,您可以使用 toPromise()
方法将其转换为 Promise。
喜欢 - http.post.toPromise()