Как я могу сделать модуль запроса в Node.js загружать вещи синхронно? Лучший совет, который я видел, - это как-то использовать обратный вызов, чтобы заставить функцию не возвращаться, пока она не будет выполнена. Я пытаюсь использовать встроенную функцию "запрос" в коде (вещи нужно обрабатывать на основе этих данных, которые нельзя поместить в обратные вызовы).
Итак, как я могу использовать обратный вызов модуля "запрос", чтобы он не возвращался, пока не закончит загрузку ресурса?
То, что я делаю, это цикл, который загружает два значения из API, а затем должен выполнять некоторую математику на основе этих значений. Хотя математика может быть выполнена в обратных вызовах... цикл будет продвигаться без значений, необходимых для выполнения следующей операции. (Так что остановка цикла от продвижения до тех пор, пока данные не будут готовы решить проблему)
/* loop */ {
/* URL Generation */
request( {url: base + u_ext}, function( err, res, body ) {
var split1 = body.split("\n");
var split2 = split1[1].split(", ");
ucomp = split2[1];
});
request( {url: base + v_ext}, function( err, res, body ) {
var split1 = body.split("\n");
var split2 = split1[1].split(", ");
vcomp = split2[1];
});
/* math which needs to be after functions get variables and before loop advances */
}