2016-11-21 5 views
0

次のコード(Bluebirdライブラリを使用)では、エラーが発生した場合に、どの約束が失敗したかを判断する方法がありますか?`Promise.join`でどのような約束が失敗するのか知る方法はありますか?

Promise.join(User.getByName(username), User.getByKey(key), (user1, user2) => { 
    //do operations 
}).catch((error) => { 
    //How to know which failed? 
}); 

これらの約束はいずれも、拒否された場合に一般的なエラーメッセージを生成します。

答えて

1

実際にする必要がある場合は、個々にエラーハンドラを実装する必要があります。

Promise.join(User.getByName(username) 
    .catch(err => {throw new Error('error in getByName');}), 
    User.getByKey(key) 
    .catch(err => {throw new Error('error in getByKey');}), 
(user1, user2) => { 
    //do operations 
}).catch((error) => { 
    // error.message should now display origin of error 
}); 
+0

これは私が疑うところです。ありがとうございます –

関連する問題