私はnode-rest-client
を使用してエンドポイントにGET呼び出しを行い、この呼び出しを複数回(ループ内で)行い、応答のパラメータを公開します。
コードは次のようになります。ノードJSループとコールバック
// registering remote methods
client.registerMethod("reflect", "<the URL>", "GET");
// call the method
var i = 10;
while (i>0) {
client.methods.reflect(function (data, response) {
console.log("x-forwarded-for: " + data.headers["x-forwarded-for"]);
// raw response
//console.log(response);
});
i--;
}
私が手にエラーがある:
TypeError: Cannot read property 'x-forwarded-for' of undefined
i
が2に等しい場合、これはOKです。 私はこの問題が非同期実行であり、その間のすべての呼び出しが一度に起動され、行のどこかで目詰まりが発生していることが原因であると考えています。
同期実行を行う最良の方法は何ですか(これが問題の原因です)。
のような匿名関数の内部で、この呼び出しをラップしてください[async for node.jsの複製](http://stackoverflow.com/questions/21184340/async-for-loop-in-node-js) – DrakaSAN
'async'のような制御フローライブラリを使うか、それを行う再帰。約束も働くだろう。 – DrakaSAN
ありがとうございます - はい、私は問題を解決すると信じてこれを見た:https://github.com/caolan/async/blob/v1.5.2/README.md#whilst – Christian68