Promesse reject() provoque “Uncaught (promettre)” avertissement

Une fois une promesse reject() callback n'est appelé, un message d'avertissement "Uncaught (promettre)" s'affiche dans la console Chromée. Je ne peut pas envelopper la tête autour de la raison derrière elle, ni comment s'en débarrasser.

var p = new Promise((resolve, reject) => {
  setTimeout(() => {
    var isItFulfilled = false
    isItFulfilled ? resolve('!Resolved') : reject('!Rejected')
  }, 1000)  
})

p.then(result => console.log(result))
p.catch(error => console.log(error))

Avertissement:

Promesse reject() provoque “Uncaught (promettre)” avertissement

Edit:

J'ai découvert que si la onRejected gestionnaire n'est pas explicitement prévu à l' .then(onResolved, onRejected) méthode, JS fournira automatiquement implicite. Il ressemble à ceci: (err) => throw err. La génération automatique d'gestionnaire de lancer à son tour.

Référence:

Si IsCallable(onRejected) " est faux, puis

     Laissez onRejected être "Lanceur".

http://www.ecma-international.org/ecma-262/6.0/index.html#sec-performpromisethen

  • Semble que vous êtes en utilisant Angulaire du ZoneAwarePromise. Ils ont mis en œuvre le Rejet de Manipulation incorrecte, au moins dans certaines versions. Rappelez-vous cependant, rien retourné à partir de l'Accomplissement de Gestionnaire (alors arguments[0]) va changer la méthode de chaînage des résultats tels que la prochaine then invocation est à venir à partir d'une nouvelle Promesse avec la valeur de retour comme le [potentiel] état.