当前位置: 首页 > 知识库问答 >
问题:

等待是异步函数中的保留字错误

白子默
2023-03-14

我正在努力找出以下语法的问题:

export const sendVerificationEmail = async () =>
  (dispatch) => {
    try {
      dispatch({ type: EMAIL_FETCHING, payload: true });
      await Auth.sendEmailVerification();
      dispatch({ type: EMAIL_FETCHING, payload: false }))
    } catch (error) {
      dispatch({ type: EMAIL_FETCHING, payload: false });
      throw new Error(error);
    }
  };

我一直得到错误说:

等待是一个保留字

...但是在异步函数中不合法吗?

调度位来自report-thunk库。

共有1个答案

林和畅
2023-03-14

为了使用wait,直接包含它的函数需要是异步的。根据您的评论,将async添加到内部函数可以解决您的问题,因此我将在这里发布:

export const sendVerificationEmail = async () =>
  async (dispatch) => {
    try {
      dispatch({ type: EMAIL_FETCHING, payload: true });
      await Auth.sendEmailVerification();
      dispatch({ type: EMAIL_FETCHING, payload: false }))
    } catch (error) {
      dispatch({ type: EMAIL_FETCHING, payload: false });
      throw new Error(error);
    }
  };

您可能会从外部函数中删除async,因为它不包含任何异步操作,但这取决于该sendVerificationMail的调用方是否期望sendVerificationMail返回promise。

 类似资料:
  • 问题内容: 我正在努力用以下语法找出问题所在: 我不断收到错误消息: 等待是保留字 …但是在异步函数中不合法吗? 调度位来自 react-thunk 库。 问题答案: 为了使用,直接封装它的函数需要异步。根据您的评论,添加到内部函数可以解决您的问题,因此我将其发布在这里: 可能的话,您可以从外部函数中删除,因为它不包含任何异步操作,但这取决于该调用者是否期望返回承诺。

  • 我正试图将图像上传到firebase存储,但调用该函数时,未执行wait以获取url。我错过了什么? 看看这个其他主题,我发现问题可能是“然后”,但我如何设置代码以等待url? 异步/等待/然后飞镖/颤振 谢谢

  • 问题内容: 目前,我正在尝试在类构造函数中使用。这样一来,我就可以为正在从事的Electron项目获取自定义标签。 但是,目前该项目无法正常工作,并出现以下错误: 有没有办法避免这种情况,以便我可以在其中使用异步/等待?而不需要回调或.then()? 问题答案: 这 永远 行不通。 该关键字允许在标记为函数中使用,但它也是功能转换成一个承诺发生器。因此,标有的函数将返回承诺。另一方面,构造函数返回

  • 所以我在Angular中开发了一个新组件,在ngOninit中我有以下异步函数。。。 这getUserProfile需要完成才能调用它。getPrivateGroup()和这个。需要先完成getPrivateGroup(),然后才能调用此函数。loadGroupPosts()。我知道我可以在异步请求的回调中编写这些函数,但我想知道是否有一种方法可以将它保存在ngOnInit中以保持其更干净? 有人

  • 我在中写了这段代码 然后我尝试在另一个文件中使用它 我得到一个错误 “等待仅在异步函数中有效” 问题是什么?

  • 这是我的密码。无法找出发生错误的原因。该函数是异步类型。