Node.js: есть ли синхронная версия метода `http.get` в node.js? - PullRequest
9 голосов
/ 03 марта 2012

Есть ли синхронная версия метода http.get в файле node.js?

Что-то вроде:

http.getSync({
    host: 'google.com', 
    port: 80, 
    path: '/'
}, function(response){  

});

console.log(response)

Иногда это было бы очень полезно.

Ответы [ 2 ]

3 голосов
/ 21 мая 2015

Существует библиотека 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);
0 голосов
/ 03 марта 2012

Нет, нет.Честно говоря, я не вижу варианта использования.

Если вы расширите свой вариант использования или проблему, которую вы пытаетесь решить, я постараюсь ответить на нее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...