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;
    }
}