如何解决在 nodejs 中使用 mailchimp 营销 api v3 响应代码呈现成功/失败页面
如果我的联系人成功添加到 Mailchimp 列表中,我想呈现一个 succes.html 文件,否则呈现一个 failure.html 文件。我使用的是 Mailchimp 营销 API 版本:3。
async function run() {
try{
const response = await mailchimp.lists.addListMember(listId,{
email_address: subscribingUser.email,status: "subscribed",merge_fields: {
FNAME: subscribingUser.firstName,LNAME: subscribingUser.lastName
}
});
} catch (e){
if (e.response.statusCode !== 200){
console.log(e.response.statusCode);
res.redirect(__dirname + "/failure.html");
}else{
console.log(e.response.statusCode);
console.log(`Successfully added contact as an audience member. The contact's id is ${response.id}.`);
res.redirect(__dirname + "/success.html");
}
}
}
run();
我已尝试搜索此问题,但我发现的所有结果都是使用旧版本的 Mailchimp 并使用 HTTPS req/res 而不是使用 async function run()
。但是我想用mailchimp的async function run()
来解决这个问题。
解决方法
所以我发现我正在以错误的方式进行 try-catch。稍微编辑一下代码后,它现在工作正常。工作代码如下。
async function run() {
try{
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}.`);
res.sendFile(__dirname + "/success.html");
} catch (e){
console.log(e.status);
res.sendFile(__dirname + "/failure.html");
}
}
run();
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。