2017-12-14 4 views
0

Ich habe ein solches Verfahren in meiner Fabrik
Unterschied: Rückkehr Versprechen und das Rück promise.then

getTogether() { 
     let promise = this._$q.all([this._$http.get('/groups'), this._$http.get('/tasks')]); 
     return promise 
      .then((data) => { 
       //local variable for reduce server<->client 
       this._localList = data; 
       return this._localList; 
      }); 
    }; 

und ich rufe diese Methode in meinem Controller.

this._boardFactory.getTogether().then((list) => { 
      console.log(list) 
     }); 

alles funktioniert perfekt, aber ich verstehe eine Sache nicht.

Was ist der Unterschied zwischen Rückkehr promise und Rückkehr promise.then?
Dank für Ihre attantion

+3

promise.then gibt ein weiteres Versprechen, die auf den Wert auflösen werden Sie in dem '.then' Rückruf zurück – Brian

+1

In Ihrem Fall keinen Unterschied, außer der Tatsache, dass es sind zwei verschiedene Versprechen, die mit dem gleichen Wert gelöst werden. –

+0

Stimmen Sie mit Kevin überein. Sie werden feststellen, dass Sie das gleiche Ergebnis im Konsolenprotokoll mit oder ohne '.then 'erhalten. –

Antwort

-3

ich sagen Promise Objekt ist und then() ist Methode Bemühter Objekt, das ein anderes Versprechen Wiederholungen.

Promise.prototype.then(onFulfilled, onRejected) - Hängt Fulfillment- und Ablehnungshandler an das Versprechen und gibt ein neues Versprechen zurück, das den Rückgabewert des aufgerufenen Handlers oder seinen ursprünglich abgerechneten Wert auflöst, wenn das Versprechen nicht bearbeitet wurde (dh wenn der entsprechende Handler onFulfilled oder onRejected ist keine Funktion). Bild unten erklärt Sache: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise

dies ist, wie es Gose

-Promise - let this is ajax call, 
    - then() - now this allows you to work on the output you received from first promise 
    - then() - now if you want to work on the output of second promise which return by then(first) 
     - then - another promise allows to wok on ouput of third 

so Art es Verkettungs ... weiter gehen ..:

enter image description here

Sie mehr hier lesen bis Sie es abgeschlossen

+0

@ PranayRana, Wenn ich Promise.then() Ich kann .then() zu ihm, dass wird lösen, wenn alle "Linie" Versprechen Erfolg endet? –

+0

Warum gibt es noch -1 ????? –

+0

@Bergi - willkommen ... jeder Weg mag es zu lernen und das lernt für mich ... :) –

0

Wenn Sie nur return promise in Ihrem Code tun, werden Sie die Auflösung von t zurückgeben er promise Objekt. Wenn Sie jedoch return promise.then tun, werden Sie die Auflösung des Versprechens aus der Klausel then zurückgeben.

then gibt ein Versprechen, so promise.then wird ausgeführt promise dann die then Klausel ausführen, dieses Versprechen zurück.

Weitere Informationen über then hier: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/then

+0

Nur die Antwort, die das 'then()' erwähnt, bringt ein neues Versprechen zurück – charlietfl

Verwandte Themen