Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/442.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 按顺序执行这些任务-Node.js_Javascript_Node.js - Fatal编程技术网

Javascript 按顺序执行这些任务-Node.js

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

我想按顺序完成这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.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,有哪些元素是同步的,哪些元素是异步的?