この動機付けは、初期同期コードで起きたものであっても、末尾が.catch
である可能性のあるすべてのエラーを捕捉できるようにすることです。エラーを処理する途中でjavascriptを約束するブルーバードチェーン
私はそうのように私の約束チェーンを開始したい:
const bbPromise = require('bluebird');
bbPromise.do(() => {
someTask(); // Could throw
return someVar.doSomeOtherTaskAsync();
})
.then((result) => {
// Do something with result
})
.catch((err) => {
console.log('err: ', err);
});
はbbPromise.do
機能と同じように動作機能はありますか? bbPromise.resolve
は、渡された、実行されなかったラムダ関数全体を私に渡します。
bbPromise.bind({}).then(() => {
someTask(); // Could throw
return someVar.doSomeOtherTaskAsync();
})
...
かさえ:
new bbPromise((resolve, reject) => {
someTask(); // Could throw
return someVar.doSomeOtherTaskAsync().then(resolve).catch(reject);
})
...
をしかし、これらは少し間接的です
は、私はこのような何かを行うことができます知っています。 promiseを返すことができる関数を実行するだけで、約束のチェーンを開始する良い方法はありますか?末尾にキャッチされたエラーがあります.catch
?