1
にコンソールロギングを活用:私はこのように少し見えるネイティブJavaScriptの約束チェーン持ってネイティブのJavaScript約束チェーン
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);
});
});
}
マイ:約束の機能はほとんどない。このようになります
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);
});
}
をコードは私が言うことができるものからうまく解決するようです(エラーはなく、私は必要な操作が実行開始されたことを端末のフィードバックから伝えることができます)。ロギング。
1)これらの文は、私が期待しているように印刷されないのはなぜですか?
2)冗長な出力を取り戻すにはどうすればよいですか?
コールバック関数の内部から 'some message'を取得していますか?そうでない場合、 'someCallbackFunction'は責任を負います。 – Bergi
'console.error("エラー "、エラー)'を試してください。 'error.stack'は、コールバックベースの関数が拒否したものについては未定義であり、そのためにログを取得していない可能性があります。 – Bergi
@Bergi 'console.error(" Error "、error)'を使ってみましたが、成功しませんでした。また、いくつかのメッセージは、promise関数やsomeCallbackの中で呼び出されません。私は事実を知っている最初の2つのいくつかの約束関数は、私は彼らの操作のメッセージが 'journalctl'に表示されることを見ることができるので正しく解決する – MSB