我在某些文件上遇到了关于webstorm的奇怪问题。我收到" TS2304:找不到名字'等待'"和" TS1005:','预期&#34 ;.这只发生在使用await / async语法的几个文件中的两个文件上。我试图使缓存无效,但这不起作用。我还尝试重启应用程序和计算机。到目前为止,没有任何工作。此外,它似乎没有异步的问题,只是没有等待。
以下是我收到此错误的方法声明之一的示例:
private async findUserByEmailAddress = (emailAddress): Promise<IGroupMemberModel> => {
const user: IUserModel = await this.userRepository.findUserByEmailAddress(emailAddress);
if (! user)
Promise.reject(new NotFoundError("The specified user could not be found."))
return user;
}
有人可以提供有关此问题可能原因的见解吗?
答案 0 :(得分:5)
这不是IDE问题,这是一个语法问题。 async
关键字应放在箭头函数的参数列表之前:
private findUserByEmailAddress = async (emailAddress): Promise<IGroupMemberModel> => {
...
}
修改
这是基于代码的完整工作示例,添加了缺少的类型:
interface IGroupMemberModel { }
interface IUserModel { }
class NotFoundError extends Error { }
class x {
userRepository: {
findUserByEmailAddress(emailAddress: any): Promise<IUserModel>;
}
private findUserByEmailAddress = async (emailAddress): Promise<IGroupMemberModel> => {
const user: IUserModel = await this.userRepository.findUserByEmailAddress(emailAddress);
if (!user)
throw new NotFoundError("The specified user could not be found.");
return user;
}
}