异步函数的返回类型必须是全局 Promise<T> 类型

Ник*_*дев 6 async-await typescript vue.js tslint

在此处输入图片说明

为什么 TSlint 仍然说“异步函数或方法的返回类型必须是全局 Promise 类型”?

我不明白出了什么问题。

更新: 在此处输入图片说明

Yom*_* S. 6

尝试返回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);
}
Run Code Online (Sandbox Code Playgroud)

实际上,你也应该能够得到then()结果:

@Action
public async register(registerInfo: Account): Promise<boolean> {
  return await http
            .post('users/', registerInfo)
            .then(res => res.data.success);
}
Run Code Online (Sandbox Code Playgroud)