首页 > 解决方案 > 错误 UnhandledPromiseRejectionWarning 在通过带有 NODE.JS 的 API 的登录页面发送用户信息

问题描述

(我是编码新手,对 NODE 也很陌生,所以我不知道问题是什么以及如何解决它。)

我的代码是这样的:

app.post("/", (req, res) => {
  const firstName = req.body.fname
  const lastName = req.body.lname
  const email = req.body.email
  const listId = "***";
  const subscribingUser = {
    firstName: firstName,
    lastName: lastName,
    email: email
  };

  async function run() {
    const response = await mailChimp.lists.addListMember(listId, {
      email_address: subscribingUser.email,
      status: "subscribed",
      merge_fields: {
        FNAME: subscribingUser.firstName,
        LNAME: subscribingUser.lastName
      }
    });


    console.log(
      `Successfully added contact as an audience member. The contact's id is ${
        response.id
      }.`
    );

  }


  run();
})

我收到了这个错误消息:

UnhandledPromiseRejectionWarning:未处理的承诺拒绝。此错误源于在没有 catch 块的情况下抛出异步函数内部,或拒绝未使用 .catch() 处理的承诺。要在未处理的 Promise 拒绝时终止节点进程,请使用 CLI 标志 --unhandled-rejections=strict

标签: node.js

解决方案


试试这个方法

function run() {
    mailChimp.lists.addListMember(listId, {
        email_address: subscribingUser.email,
        status: "subscribed",
        merge_fields: {
            FNAME: subscribingUser.firstName,
            LNAME: subscribingUser.lastName
        }
    }).then((response) => {
        console.log(
            `Successfully added contact as an audience member. 
            The contact's id is ${response.id}.`
        );
    }).catch((err) => console.log(err))
}

推荐阅读