猿问

如何在另一个函数中使用异步函数?

我想调用一个异步函数,在另一个函数内进行 API 调用。


具体来说,在下面的代码中,我定义了一个异步函数verifyEmail,对邮件地址的验证服务进行 API 调用。当我使用随机电子邮件对其进行测试时,该功能正在运行。


我希望能够在getProfileInfos解析 json 文件并返回对象数组的函数中调用此函数。这verifyEmail(result.dropcontact.email)是错误的,因为它总是会返回未解析的Promise. 我做了一些研究,但没有找到正确的语法来调用异步函数并等待结果在我的对象中设置电子邮件。


任何帮助表示赞赏!


const verifyEmail = async (email) => {

  const response = await fetch(`https://apilayer.net/api/check?access_key=******&email=${email}`);

  const data = await response.json();

  if (data.format_valid && data.score > 0.5) {

    return data.email;

  };

}


const getProfileInfos = (data) => {

  const jsonData = JSON.parse(data);

  const results = jsonData.map((result) => {

    if (result.general) {

      const firstName = result.general.firstName;

      const lastName = result.general.lastName;

      const company = result.jobs[0].companyName;

      const jobTitle = result.jobs[0].jobTitle;

      const email = result.dropcontact ? verifyEmail(result.dropcontact.email) : undefined;

      return {

        firstName,

        lastName,

        company,

        jobTitle,

        email

      }

    }

  });

  return results;

}


慕仙森
浏览 202回答 2
2回答
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答