In einer öffentlichen Bibliothek spex, schrieb ich vor einer Weile und das erwies sich als sehr zuverlässig, habe ich gekämpft, um den Grund zu finden, warum Bluebird warnt mich mit Warning: a promise was created in a handler but was not returned from it
.Bluebird Versprechen Leck Warnungen
Nach dem Versuch, es immer wieder zu nageln, habe ich fast aufgegeben, und jetzt bereit, das maximale Kopfgeld auf eine Lösung zu legen.
komplette Testanwendung:
'use strict';
var promise = require('bluebird');
var spex = require('spex')(promise);
function factory(index) {
if (index < 2) {
return promise.resolve(index);
}
}
spex.sequence(factory)
.then(data=> {
console.log("success");
})
.catch(error=> {
console.log("error");
});
komplette Konsolenausgabe:
Warning: a promise was created in a handler but was not returned from it
at Object.factory (D:\NodeJS\tests\test4.js:8:24)
at loop (D:\NodeJS\tests\node_modules\spex\lib\utils.js:69:44)
at Object.resolve (D:\NodeJS\tests\node_modules\spex\lib\utils.js:90:9)
at loop (D:\NodeJS\tests\node_modules\spex\lib\ext\sequence.js:106:28)
at next (D:\NodeJS\tests\node_modules\spex\lib\ext\sequence.js:160:25)
at $utils.resolve.call.reject.index (D:\NodeJS\tests\node_modules\spex\lib\ext\sequence.js:144:25)
at loop (D:\NodeJS\tests\node_modules\spex\lib\utils.js:86:17)
at D:\NodeJS\tests\node_modules\spex\lib\utils.js:80:25
at processImmediate [as _immediateCallback] (timers.js:383:17)
From previous event:
at loop (D:\NodeJS\tests\node_modules\spex\lib\utils.js:77:22)
at Object.resolve (D:\NodeJS\tests\node_modules\spex\lib\utils.js:90:9)
at loop (D:\NodeJS\tests\node_modules\spex\lib\ext\sequence.js:106:28)
at D:\NodeJS\tests\node_modules\spex\lib\ext\sequence.js:184:9
From previous event:
at promise (D:\NodeJS\tests\node_modules\spex\lib\index.js:96:24)
at Object.sequence (D:\NodeJS\tests\node_modules\spex\lib\ext\sequence.js:100:12)
at Object.sequence (D:\NodeJS\tests\node_modules\spex\lib\ext\sequence.js:193:29)
at Object.<anonymous> (D:\NodeJS\tests\test4.js:12:6)
at Module._compile (module.js:409:26)
at Object.Module._extensions..js (module.js:416:10)
at Module.load (module.js:343:32)
at Function.Module._load (module.js:300:12)
at Function.Module.runMain (module.js:441:10)
at startup (node.js:139:18)
at node.js:968:3
success
- SPEX Bibliothek Version - jede
- Drossel Version - jede 3.X, mit
DEBUG
Modus auf. - Node.js Version - jede
- OS - jede
https://github.com/petkaantonov/bluebird/blob/master/docs/docs/warning-explanations.md – Amit
@Amit, danke, aber ich habe die gesamte Bluebird-Dokumentation zehnmal gelesen, einschließlich der Fälle, in denen die gleiche Warnung gemeldet wurde. Ich habe eine sehr gute Recherche gemacht, bevor ich meine Frage veröffentlichte. Normalerweise hätte ich es mittlerweile gefunden, wie ich weiß, verspricht es sehr gut, aber ich bin verdammt fest auf diesem einen ... –
Und hast du versucht, "null" wie vorgeschlagen zurückzugeben? – Amit