2017-02-22 3 views
-1

Ich habe eine Reihe von async Funktionen, die ich in einer Sequenz ausführen möchte, versuchte ich mit Versprechungen, aber das Beispiel folgte tho es funktioniert, führt dann nicht in anderen, und oft löst man den Inhalt auf, bevor der andere den Container zeichnet. Ich habe versucht, die Verheißungssache zu verstehen, und es scheint, dass die Versprechungen zurückgewiesen werden, aber ich weiß nicht, was ich falsch mache, oder ob ich andere Methoden verwenden sollte, um die Funktionen zu "verfolgen". Danke für die Hilfe!Versprechen funktioniert nicht in der Kette von Javascript/jquery Funktionen

var chain = new Promise(function(){ 
      statusUp(); 
     }); 
     chain.then(p_view(pid)).then(pu_list(pid)).then(pm_list(pid)); 
+0

[Versprechen (MDN)] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise) – Andreas

+0

Sie lösen nicht "Kette" überhaupt auf. – Xufox

+1

1. Sie "verschließen" niemals das Versprechen, 2. Sie fügen keine Callbacks an Ihre '' '-' '' - '' '' '-Funktionen an. – deceze

Antwort

0

Sie suchen nach etwas ähnliches zu diesem

Promise.resolve(statusUp()) 
    .then(function(pid) { 
     return p_view(pid) 
    }) 
    .then(function(pid) { 
     return pu_list(pid) 
    }) 
    .then(function(pid) { 
     return pm_list(pid) 
    }); 

Ich habe einige (viele ...) Annahmen hier in Bezug auf statusUp, p_view, pu_list und pm_list so könnte dies einige Optimierungen müssen .

Verwandte Themen