Узел.js: существует ли синхронная версия ' http.метод get ' в узле.js?
Существует ли синхронная версия метода http.get
в узле.js?
Что-то вроде:
http.getSync({
host: 'google.com',
port: 80,
path: '/'
}, function(response){
});
console.log(response)
Иногда это было бы очень полезно.2 ответа:
Нет, нет. я честно не вижу варианта использования.
Если вы расширите свой вариант использования или проблему, которую вы пытаетесь решить, я попытаюсь ответить на этот вопрос.
Существует библиотека sync-request, которая довольно проста в использовании. Внутренне он порождает дочерний процесс синхронно и использует then-request , поэтому параметры подобны этой библиотеке.
Как заявляли другие,я бы предостерег от использования этого в вашей логике выполнения. Тем не менее, это может быть очень удобно для загрузки конфигурации.
Если вы загружаете конфигурацию, другой стратегией может быть использование отдельного скрипта для запуска вашего процесса. Пример:
var http = require("http"), cp = require("child_process"); // Starting process if (process.argv.length < 3) { return http.get("http://www.google.com/index.html", function(res) { var config = { statusCode : res.statusCode, headers : res.headers }; cp.fork(module.filename, [JSON.stringify(config)]); }); } // Config provided var config = JSON.parse(process.argv[2]); console.log(config.statusCode);