WebStorm:在某些 .ts 文件上找不到名称 'await'
WebStorm: cannot find name 'await' on certain .ts files
我在某些文件上遇到了 webstorm 的奇怪问题。我收到 "TS2304: Cannot find name 'await'" 和 "TS1005: ',' expected"。这仅发生在使用 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;
}
有人可以提供有关此问题的可能原因的见解吗?
这不是 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;
}
}
我在某些文件上遇到了 webstorm 的奇怪问题。我收到 "TS2304: Cannot find name 'await'" 和 "TS1005: ',' expected"。这仅发生在使用 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;
}
有人可以提供有关此问题的可能原因的见解吗?
这不是 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;
}
}