【发布时间】:2020-11-12 06:40:01
【问题描述】:
我正在使用 mailchimp api。我遇到了一个问题,我超过了他们 10 的限制。 在获取请求中,您可以使用分页和偏移来解决这个问题。但是如何在 post 请求中解决这个问题,它不像您可以在 post 请求中进行分页..
这就是我的代码的运行方式:
allEmails.forEach(email => {
const emailHash = md5(email);
if(mailChimpMails.indexOf(email) === -1) {
mailChimpPost('POST',`lists/4d2d65c130/members` , JSON.stringify({"email_address" : email , "status": "subscribed"})).then( res => {
console.log(res);
}).catch(err => {
console.log(err);
});
}else{
mailChimpPost('PATCH',`lists/4d2d65c130/members/${emailHash}` , JSON.stringify({"status": "subscribed"})).then(res => {
console.log(res)
}).catch(err => {
console.log(err);
});
}
})
所有电子邮件都是一组电子邮件,我会遍历这些电子邮件并将它们单独添加到 mailchimp 中的观众。它添加了一些,但运行一段时间后会抛出 429 错误:
状态代码错误:429 - "{"type":"http://developer.mailchimp.com/documentation/mailchimp/guides/error-glossary/","title":"太 Many Requests","status":429,"detail":"您已超出 10个同时限制 连接。","instance":"myinstance"}"
【问题讨论】:
-
找到了我认为的问题。也许我需要在执行另一个请求之前等待一个请求.. 所以我使用 for of 循环而不是 foreach 循环与 await