gpt4 book ai didi

node.js - Twilio Whatsapp : Sending Multiple Media Messages

转载 作者:太空宇宙 更新时间:2023-11-04 01:19:36 25 4
gpt4 key购买 nike

我正在尝试循环遍历一个数组,以便在 Twilio 中按顺序发送多条消息。但在我在 Whatsapp 中的最终输出中,顺序不是连续的。例如,它按以下顺序显示:图像2 ->图像1 ->图像3。我尝试使用async/await库,但没有帮助。

我尝试过.reduce,以及在循环内部带有await的普通for循环

数组:

str.text = ["Image 1", "Image 2", "Image 3"]
str.images = ["https://hatrabbits.com/wp-content/uploads/2017/01/random.jpg", "https://images.unsplash.com/photo-1494253109108-2e30c049369b?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&w=1000&q=80", "https://www.computerhope.com/jargon/r/random-dice.jpg", ]

代码:

function sendMsg(img, txt) {
context.getTwilioClient().messages.create({
to: event.From,
from: 'whatsapp:' + context.WHATSAPP_NUMBER,
body: txt,
mediaUrl: img
}).then(message => {
callback();
}).catch(err => callback(err));
}

async function test(str) {
(str.text).reduce(async (previousPromise, value, i) => {
await previousPromise;
return sendMsg(str.images[i], str.text[i])
}, Promise.resolve());
}

request.post({
...
}, function (err, res, body) {

var str = body.data.message;
test(str);
}

最佳答案


var items = [
{
text: "Image 1",
image: "https://hatrabbits.com/wp-content/uploads/2017/01/random.jpg"
},
{
text: "Image 2",
image: "https://images.unsplash.com/photo-1494253109108-2e30c049369b?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&w=1000&q=80"
},
{
text: "Image 3",
image: "https://www.computerhope.com/jargon/r/random-dice.jpg"
}
];

sendMessage(items);

function sendMessage(items) {

// stop condition
if (!items.length) {
// return;
callback(null, '');
}

const currentItem = items.shift();

context.getTwilioClient().messages.create({
to: event.From,
from: 'whatsapp:' + context.WHATSAPP_NUMBER,
body: currentItem.text,
mediaUrl: currentItem.image
})
.then(message => {
setTimeout(sendMessage, 1500, items);
})
.catch(err => {
// return;
callback(err, null);
});


}


<小时/>如果您需要更多消息之间的时间,请使用 setTimeout(sendMessage, 1500, items); 中的 1500

关于node.js - Twilio Whatsapp : Sending Multiple Media Messages,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59835660/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com