Как сделать асинхронные вызовы http response.write только с Node.js? - PullRequest
0 голосов
/ 06 сентября 2018

У меня проблемы с асинхронным вызовом ответа моего сервера несколькими вызовами состояния на запросы http моего клиента. Я использую Node.js в облегченной сборке Raspberry Pi, поэтому для этого я использую как можно меньше внешних библиотек.

Я продолжаю сталкиваться с проблемой response.write () в сочетании с response.end () для получения информации о состоянии сервера обратно к клиенту. Вот что я делаю с обещанием, связывающим маршрут моего сервера.

else if (request.url === '/scope'){
    new Promise((resolve,reject)=>{ 
        if(request.url){
            response.write('streaming')
            response.end()
            resolve(trigger())
        } else {
            reject('not streaming')
        }
    }).then((results)=>{
        response.write('done streaming')
        response.end()
}

Моя функция триггера () занимает значительное время для завершения. Поэтому я хотел бы отправить состояние с response.write, но не могу с двумя response.end (). Если я использую один из них в конце, тогда мой клиент получает оба состояния «потоковое» и «завершенное потоковое» одновременно.

Другой способ, которым я думал об этом, - обратные вызовы.

Можете ли вы помочь мне асинхронно выполнить несколько HTTP-запросов response.write, чтобы обновить состояние приложения до одного HTTP-запроса?

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