Javascript 按顺序执行这些任务-Node.js
我想按顺序完成这3项任务 我怎么做呢? 使用异步/等待或承诺或任何其他方式Javascript 按顺序执行这些任务-Node.js,javascript,node.js,Javascript,Node.js,我想按顺序完成这3项任务 我怎么做呢? 使用异步/等待或承诺或任何其他方式 // task 1 ctx.telegram.sendMessage(MasterID, `⭐⭐⭐new order⭐⭐⭐`) // task 2 for (var key in pricetag) { if (pricetag.hasOwnProperty(key)) { if ((pricetag[key] * ctx.session.quantity[key]) != 0) { ctx
// task 1
ctx.telegram.sendMessage(MasterID, `⭐⭐⭐new order⭐⭐⭐`)
// task 2
for (var key in pricetag) {
if (pricetag.hasOwnProperty(key)) {
if ((pricetag[key] * ctx.session.quantity[key]) != 0) {
ctx.reply(`" ${key} " , " ${ctx.session.quantity[key]} " | " ${ctx.session.totalprice[key].format3dig(0, 3, ',')} " $`)
console.log(pricetag[key] * ctx.session.quantity[key]);
ctx.session.sumtotalprice = ctx.session.sumtotalprice +
ctx.session.totalprice[key];
}
}
}
// task 3
ctx.telegram.sendMessage(MasterID, `⭐⭐⭐end of order⭐⭐⭐`)
非常感谢由于返回了承诺,您可以使用。然后等待承诺解决:
ctx.telegram.sendMessage(MasterID, `⭐⭐⭐new order⭐⭐⭐`).then(function(response) {
for (var key in pricetag) {
if (pricetag.hasOwnProperty(key)) {
if ((pricetag[key] * ctx.session.quantity[key]) != 0) {
ctx.reply(`" ${key} " , " ${ctx.session.quantity[key]} " | " ${ctx.session.totalprice[key].format3dig(0, 3, ',')} " $`)
console.log(pricetag[key] * ctx.session.quantity[key]);
ctx.session.sumtotalprice = ctx.session.sumtotalprice +
ctx.session.totalprice[key];
}
}
}
ctx.telegram.sendMessage(MasterID, `⭐⭐⭐end of order⭐⭐⭐`)
});
for循环是同步的,所以之后没有什么特别的事情要做。你能给这三个任务贴上标签吗?@JoelCDoyle抱歉,我经常纠正它。如果我们有3个或更多for循环,那么for回报承诺也会怎么样?不。for循环是同步的。它们按照编写的顺序执行。不需要使用promisesIs,有哪些元素是同步的,哪些元素是异步的?