失敗したリクエストの後にリクエストを再試行しようとしています。ただし、リクエストを遅らせたいと思います。私setTimeout
の関数は返されたjsonをテストし(そして再帰的です)、setTimeoutはコールバックの戻り値を返さないため、うまくいきませんでした。
function makeRequest(req, nextjson, attempts){
// I'm using a different method here
get({url: "http://xyz.com", json: nextjson},
function(err, json2){
if(err===200){
return json2
} else {
// json2 might be bad, so pass through nextjson
if(attempts < 5){
return makeRequest(req, nextjson, attempts+1)
} else {
// pass back the bad json if we've exhausted tries
return json2
}
}
})
}
再帰呼び出しの実行を遅らせたい。また、私はこのコードに少し当惑しています。あまりにも命令的です。きれいにする方法があれば、それもよろしくお願いします