初歩的な質問かもしれませんが、個人で調べきれなかったので質問させてください。
thenに対象のコールバックが指定されていないときどのような挙動になるのでしょうか。
例えば次のようなコードがあるとします。
javascript
1const promiseFunc = num => { 2 return new Promise((resolve, reject) => { 3 if (typeof num === 'number') 4 resolve(num * 2) 5 else 6 reject(`${num} is not numbers.`) 7 }) 8} 9 10/* L1 */ promiseFunc("a") 11/* L2 */ .then(res => promiseFunc(5)) 12/* L3 */ .then(res => console.log(res)) 13/* L4 */ .catch(e => console.log(e))
結果としては、L4まで実行され、"a" is not numbers.
とエラーが出ます。
L1で、このPromiseインスタンスのステータスはrejectedとなります。
しかしL2では.then()
のrejected用のコールバックは指定していません。
このときどのような挙動になるのでしょうか。
メソッドチェーンを中断せず最後の.catch()
までエラーが到達する仕組みがわかりません。
デフォルトで err => throw(err) となるとどこかで目にしたのですが本当でしょうか。なかなかエヴィデンスを見つけられず。。
何か質問に不足があればコメントいただけると幸いです。
よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/12/19 14:46