2016-07-12 22 views
0

Ich möchte die zuvor aufgelösten, zurückgegebenen Daten und einen zusätzlichen Parameter innerhalb einer Versprechenskette übergeben. Siehe das Beispiel zur Verdeutlichung.Mehrere Parameter in Promises übergeben

Unten Funktionen geben beide ein Versprechen und ordnungsgemäß ausgeführt werden. Es geht nur darum, zusätzliche Parameter zu übergeben.

Läßt ein Versprechen Kette betrachten wie:

API.getSomething(id).then(API.processIt) 


getSomething function(id) { returns a promise with data } 

processIt function(data) { process the returned data } 

Mit einer Syntax wie oben es funktioniert gut. Sobald ich weitere Parameter hinzu:

API.getSomething(id).then(API.processIt(data, "random")) 

processIt function(data, misc) {...} it does't work anymore. 

Gibt es eine Möglichkeit, um zusätzliche Parameter innerhalb einer Versprechen Kette passieren das Ergebnis der vorherigen ausgeführt Versprechen ohne zusätzliche Bibliothek?

Es geht nicht um das Design der gesamten Kette. Ich weiß, das Problem könnte mit einem anderen Design umgangen werden, aber aufgrund von Änderungen in einigen APIs muss ich mit dem Problem umgehen.

Antwort

2

Auf dieser Linie

API.getSomething(id).then(API.processIt(data, "random")) 

Sie versuchen Funktion als Referenz zu übergeben, aber die Funktion stattdessen aufgerufen wird.

Versuchen

API.getSomething(id).then(function(data){ 
    API.processIt(data, "random"); 
}); 
+0

Du hast recht, mein schlecht. Danke für die Hilfe! Löst mein Problem – Michael

Verwandte Themen