Как выполнять повторные запросы до тех пор, пока они не добьются успеха, без блокировки узла? ⇐ Javascript
-
Гость
Как выполнять повторные запросы до тех пор, пока они не добьются успеха, без блокировки узла?
У меня есть функция, которая принимает параметр и обратный вызов. Предполагается, что он сделает запрос к удаленному API и получит некоторую информацию на основе параметра. Когда он получает информацию, ему необходимо отправить ее обратному вызову. Теперь удаленный API иногда не предоставляет. Мне нужно, чтобы моя функция продолжала попытки, пока ей это не удастся, а затем затем вызывала обратный вызов с правильными данными.
В настоящее время у меня есть приведенный ниже код внутри функции, но я думаю, что это что-то вроде while (!done); это неправильный код узла.
var History = {}; в то время как (истина) { вар сделано = ложь; вар повтор = правда; var req = https.request(options, function(res) { вар акк = ""; res.on("данные", функция(сообщение) { акк += msg.toString("utf-8"); }); res.on("конец", функция() { сделано = правда; история = JSON.parse(acc); если (история.успех) { повтор = ложь; } }); }); req.end(); пока (!готово); если (!повторить) сломать; } обратный вызов (история); Как это сделать правильно?
У меня есть функция, которая принимает параметр и обратный вызов. Предполагается, что он сделает запрос к удаленному API и получит некоторую информацию на основе параметра. Когда он получает информацию, ему необходимо отправить ее обратному вызову. Теперь удаленный API иногда не предоставляет. Мне нужно, чтобы моя функция продолжала попытки, пока ей это не удастся, а затем затем вызывала обратный вызов с правильными данными.
В настоящее время у меня есть приведенный ниже код внутри функции, но я думаю, что это что-то вроде while (!done); это неправильный код узла.
var History = {}; в то время как (истина) { вар сделано = ложь; вар повтор = правда; var req = https.request(options, function(res) { вар акк = ""; res.on("данные", функция(сообщение) { акк += msg.toString("utf-8"); }); res.on("конец", функция() { сделано = правда; история = JSON.parse(acc); если (история.успех) { повтор = ложь; } }); }); req.end(); пока (!готово); если (!повторить) сломать; } обратный вызов (история); Как это сделать правильно?
Мобильная версия