Ich habe eine native javascript Versprechen Kette, die ein wenig wie folgt aussieht:Nutzen Konsolenprotokollierung in nativer JavaScript Versprechen Kette
function chain() {
promiseFunction1().then(function(data) {
console.log("some message");
return promiseFunction2();
}).then(function(data) {
console.log("some message");
return promiseFunction3();
}).then(function(data) {
console.log("some message");
return promiseFunction4();
}).catch(function(error) {
console.error(error.stack);
});
}
die Versprechen Funktionen ein wenig würde wie folgt aussehen:
function promiseFunction() {
return new Promise(function(resolve,reject) {
someCallbackfunction(arg, function(err, data){
if (err) {
return reject(err);
}
console.log("some message");
return resolve(data);
});
});
}
Meine Code scheint gut zu lösen von dem, was ich sagen kann (keine Fehler und ich kann aus Terminal-Feedback sagen, dass die Operationen, die ich brauchte, laufen), aber egal was ich versuche zu versuchen, kann ich nicht für das Leben von mir scheinen irgendeine Form der Konsole protokollieren.
1) Warum drucken diese Anweisungen nicht wie ich sie erwarte?
2) Wie kann ich meine ausführliche Ausgabe wiederherstellen?
Erhalten Sie die "einige Nachricht" aus der Callback-Funktion? Wenn nicht, dann ist 'someCallbackFunction' schuld. – Bergi
Versuchen Sie 'console.error (" Fehler ", Fehler)'. Es kann sein, dass 'error.stack' nicht definiert ist, auf was auch immer die Callback-basierte Funktion zurückweist, und Sie erhalten deswegen keine Logs. – Bergi
@Bergi Ich versuchte mit 'console.error (" Fehler ", Fehler)' ohne Erfolg. Auch die einige Nachricht wird nicht aufgerufen, innerhalb der Versprechen Funktionen oder der SomeCallback. Ich weiß für eine Tatsache, dass die ersten beiden einige Versprechen Funktionen richtig lösen, da ich die Nachrichten für ihre Operationen in 'journalctl' – MSB