2017-09-15 2 views
-2

Ich möchte diese 3 Aufgaben in der Reihenfolge tun, wie könnte ich es tun? mit Async/warten oder Versprechen oder jede andere Art und WeiseDiese Aufgaben in Reihenfolge - Node.js

// 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⭐⭐⭐`) 

Dank viel

+1

Können Sie bitte die drei Aufgaben benennen? –

+0

@JoelCDoyle tut mir leid, ich korrigiere es –

Antwort

0

Da sendMessage ein Versprechen gibt, können Sie .then() verwenden, um für Versprechen zu lösen zu warten:

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⭐⭐⭐`) 
}); 

Die for Schleife ist synchron, so dass es danach nichts besonderes zu tun ist.

+0

Vielen Dank, Was ist, wenn wir 3 oder mehr für Schleifen haben, verspricht auch die Rückkehr? –

+0

Nein. For-Schleifen sind synchron. Sie werden in der Reihenfolge ausgeführt, in der sie geschrieben wurden. Keine Notwendigkeit, Versprechen zu verwenden –

+0

Gibt es Referenzen, welche Elemente synchron sind und welche asynchron sind? –

Verwandte Themen