Was ist der Unterschied zwischen Rückgabe-Wert oder Versprechen.beheben von da()

Was ist der Unterschied zwischen:

JS:

new Promise(function(res, rej) {
    res("aaa");
  })
  .then(function(result) {
    return "bbb";
  })
  .then(function(result) {
    console.log(result);
  });

und so:

JS:

new Promise(function(res, rej) {
    res("aaa");
  })
  .then(function(result) {
    return Promise.resolve("bbb");
  })
  .then(function(result) {
    console.log(result);
  });

Frage ich ja wie ich immer bin anders Verhalten, Mit Winkel-und $http-service mit Verkettung .dann(). Ein bisschen zu viel code damit ersten Beispiel oben.

  • Was "anderes Verhalten" sehen Sie? Beide Beispiele funktionieren sollte, und Verhalten sich annähernd gleich. Die Promise.resolve() im zweiten Beispiel ist unnötig.
  • Es ist nichts falsch, überhaupt mit der Rückgabe ein Versprechen von einem then handler, in der Tat, es ist ein wichtiger Aspekt, der verspricht, spec, dass Sie tun können.
  • Hinweis: dies funktioniert mit beliebig verschachtelten thens - die 'andere Sprachen' Begriff HIERFÜR ist, dass then ist sowohl ein map und ein flatMap.
  • in line 2, warum tun Sie müssen rufen res("aaa"), warum nicht zurückgeben können "aaa" ausreichend sein, und das Versprechen, fangen für die Lösung() in der gleichen Weise, dass es fängt Ausnahmen für reject() ?
InformationsquelleAutor spirytus | 2014-12-31
Schreibe einen Kommentar