Promise
に提供されているonFulfilled
関数でa を返すことができますPromise.then
。
r = require('request-promise');
r(url1).then(function(resp1) {
// Process resp 1
return r(url2 + 'some data from resp1');
}).then(function(resp2) {
// resp2 is the resolved value from your second/inner promise
// Process resp 2
// .....
});
これにより、ネストされた悪夢に陥ることなく複数の呼び出しを処理できます;-)
Promise
さらに、どれが正確に失敗したかを気にしない場合、これによりエラー処理がはるかに簡単になります。
r = require('request-promise');
r(url1).then(function(resp1) {
// Process resp 1
return r(url2 + 'some data from resp1');
}).then(function(resp2) {
// resp2 is the resolved value from your second/inner promise
// Process resp 2
// ...
return r(urlN + 'some data from resp2');
}).then(function(respN) {
// do something with final response
// ...
}).catch(function(err) {
// handle error from any unresolved promise in the above chain
// ...
});