2016-04-22 14 views
1

ExpressJSアプリケーションでリクエスト・プロミス・モジュールを使用すると、2つのリクエストを行いたいが、最初のリクエストから得られたレスポンス・データを2番目のリクエストに渡す必要がある。リクエストレスポンスを別のリクエストに渡すにはどうすればよいですか?

私が後にしていることの例は、

const options = { 
    url: 'http://api.example.com/v1/token', 
    method: 'GET' 
}; 

request(options).then((response) => { 
    request({ 
     url: 'http://api.example.com/v1/user', 
     method: 'POST', 
     data: { token: response.token } 
    }).then((final_response) => { 
     res.send(final_response); 
    }); 
}); 

私はこの例を省略してエラー処理を省略しました。私の関心は、1つのリクエストから別のリクエストにレスポンスを渡すテクニックです。

答えて

1

約束を返すことで連鎖させることができます。以下のような 何か:

request(options1) 
    .then((response1) => { 
    return request(options2) 
    }) 
    .then((response2) => { 
    return request(options3) 
    }) 
    .then((final_response) => { 
    res.send(final_response); 
    }); 

はここpromise chaining and error handlingについての素晴らしい記事です。

+0

JavaScriptの神が答えました: – MindVox

+0

@カールの問題はありません:) – Lulylulu

+0

最初のリクエストから2番目のリクエストへの応答をどのように伝えることができますか? – MindVox

関連する問題