“async”修饰符无法在TypeScript React中使用

5
我在使用async时遇到了错误,提示该修饰符不能在此处使用。
private async getValue= (acc: Access): void => {   
          await this.service.getForm('');
        }

似乎我在方法声明中做错了些什么。

private async getValue= (acc: Access): void => { 

SO要求您在问题中将“确切的”错误消息嵌入为文本。请编辑以包括您收到的错误消息。这些信息对经验丰富的开发人员很有帮助,他们通常可以根据消息立即了解您的问题/解决方案。此外,它还可以帮助未来收到相同消息的访问者找到您的帖子(阅读可能的赞)。最后,将错误消息复制并粘贴到搜索引擎中可以帮助开发人员为您找到答案。如果不符合规定,SO平台可能会删除您的帖子。有关更多信息,请阅读StackOverflow.com/help中的主题。 - SherylHohman
2个回答

9

在箭头函数声明之前,你不能在箭头函数中使用async关键字,这将导致语法错误。考虑将其移动到括号之前。

private getValue = async (acc: Access) => {   
   await this.service.getForm('');
}

异步函数或方法的返回类型必须是全局 Promise<T> 类型。 - user12919553
我认为我们需要使用 Promise<void>。 - user12919553
https://www.typescriptlang.org/docs/handbook/release-notes/typescript-1-7.html#asyncawait-support-in-es6-targets-node-v4 这里可以删除 : void - RY_ Zheng

0

同时也要移除 void。这样你就可以在方法中使用 this

private getValue = async (acc: Access) => {   
   await this.service.getForm('');
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接