Пустой ответ от запроса-обещания - PullRequest
0 голосов
/ 14 марта 2020

Я создал скрипт, который должен получать время с сервера. Вызов REST правильно работает с почтальоном. Однако, когда я использую Node.js и запрос-обещание, это не так.

var rp = require('request-promise');

function main() {
    const options = {
        method: "GET",
        uri: "http://hostname.com:1880/wahandler?request=time",
        headers: {
            "Content-Type": "text/plain"
        },
        auth: {
            'user': 'u',
            'pass': 'p'
        },
    };
    return new Promise(function (resolve, reject) {
        rp(options)
            .then(result => {
                console.log("success: " + JSON.stringify(result));
                resolve(JSON.stringify(result));
            })
            .catch(function (err) {
                console.log("err");
                resolve({
                    message: 'Test',
                    error: JSON.stringify(err)
                });
            });
    });
}

response = main();
console.log("response: " + JSON.stringify(response));

Вот как я его вызываю:

% node wahandler.js
response: {}
success: "{\"result\":\"success\",\"message\":\"It's 7:25:03 AM now!\",\"time\":\"7:25:03 AM\"}"

Интересно, что сообщение об успехе приходит с некоторыми задержка после пустого объекта ответа, хотя вызов REST занимает менее 200 мс с почтальоном.

...