2017-08-15 10 views
0

これら2つのコードブロックは同じですか?私はを開いてエラーをログに記録することを検討していますが、私はまだ「キャッチされていません」というエラーを出したいだけです。それとも、Promise.reject()でラップする必要がありますか?`.catch`を開いた後の拒否エラー

ブロックA:

soSomething() 
    .then(() => { 
     return "meow" 
    }) 
    .catch(() => { 
     console.log(err) 
     return err 
    }) 

ブロックB:

soSomething() 
    .then(() => { 
     return "meow" 
    }) 
    .catch(() => { 
     console.log(err) 
     return Promise.reject(err) 
    }) 

答えて

3

2つのパターンが同じではありません。

最初はエラーを処理し、解決済みのPromiseを返し、最初の関数パラメータがチェーン.then()に達しています。

2番目の例では、拒否されたPromiseが返され、2番目の関数パラメータが連結された.then()または.catch()に達しています。

私は.catch()を開くとエラーを記録するために探していますが、私はちょうどそれを返すことができます私はまだ、 エラーは「キャッチされていない」になりたいですか?

最初のパターンは要件を満たす必要があります。

+0

ただし、 'err'はいずれの例でも定義されていません – guest271314

関連する問題