【发布时间】:2021-11-21 14:59:39
【问题描述】:
我正在使用 this 包作为 API 包装器,以便在无服务器函数中与 CampaignMonitor API 进行交互。目的是向无服务器函数的调用者返回响应,确认将订阅者添加到 CampaignMonitor 的操作是否成功。
这是我目前所拥有的:
exports.handler = async (event, context) => {
const body = JSON.parse(event.body);
// set request details
const listId = process.env.CM_LIST_ID;
const details = body;
// Send Request and check for error returned
api.subscribers.addSubscriber(listId, details, (err, res) => {
if (err) {
return {
statusCode: 400,
body: JSON.stringify({ message: err }),
};
} else {
return {
statusCode: 200,
body: JSON.stringify({ message: 'success' }),
};
}
});
};
不幸的是,这不起作用,我认为由于没有等待对发送请求的最后部分的响应这一事实。我有点不确定如何处理它,它是一个回调函数。
我已经使用这段代码一段时间了,如果没有错误,订阅者将被添加到订阅者列表中,并且当第二个返回语句超出时,无服务器函数会返回成功响应回调(在 api.subscribers.addSubscriber 下面)。
【问题讨论】:
标签: javascript node.js async-await promise