бросить новый узел RangeError js

Я пытаюсь работать со службой IBM Watson Conversation с Node.js. Я использую «экспресс», чтобы отправить сообщение:

app.post( '/api/message', function(req, res) {
}

и распечатать сообщение, полученное от службы:

 conversation.message( payload, function(err, data) {
    if ( err ) {
      return res.status( err.code || 500 ).json( err );
    }
    return res.json( updateMessage( payload, data ) );
  } );

Я только что запустил приложение на порту 3000. Пока страница не загружается и я получил эту ошибку:

_http_server.js:192
    throw new RangeError(`Invalid status code: ${statusCode}`);
    ^

RangeError: Invalid status code: 0
    at ServerResponse.writeHead (_http_server.js:192:11)
    at ServerResponse._implicitHeader (_http_server.js:157:8)
    at ServerResponse.OutgoingMessage.end (_http_outgoing.js:573:10)
    at ServerResponse.send (C:\IBM\1.Mission\2016\conversation-simple-master(1)\
conversation-simple-master\node_modules\express\lib\response.js:204:10)
    at ServerResponse.json (C:\IBM\1.Mission\2016\conversation-simple-master(1)\
conversation-simple-master\node_modules\express\lib\response.js:249:15)
    at C:\IBM\1.Mission\2016\conversation-simple-master(1)\conversation-simple-m
aster\app.js:86:44
    at Request._callback (C:\IBM\1.Mission\2016\conversation-simple-master(1)\co
nversation-simple-master\node_modules\watson-developer-cloud\lib\requestwrapper.
js:47:7)
    at self.callback (C:\IBM\1.Mission\2016\conversation-simple-master(1)\conver
sation-simple-master\node_modules\watson-developer-cloud\node_modules\request\re
quest.js:200:22)
    at emitOne (events.js:77:13)
    at Request.emit (events.js:169:7)

Я не думаю, что проблема связана с npm, верните мой пакет... Хотя это кажется общей проблемой... Спасибо за помощь.


person N.Nicolas    schedule 30.08.2016    source источник
comment
какой код вы написали? Тот, что в app.js? Вы должны показать нам, тогда легче помочь.   -  person Roland Starke    schedule 31.08.2016
comment
@ Роланд, я только что отредактировал свой вопрос. Думаю стандартная проблема от npm, не могу получить пост от сервиса...   -  person N.Nicolas    schedule 31.08.2016


Ответы (1)


Запрос к службе IBM Watson Conversation, вероятно, завершился ошибкой с кодом "0", и это недопустимый код состояния HTTP. Это должно работать:

conversation.message(payload, function(err, data) {
  if (err) {
    return res.status(500).json(err);
  }

  return res.json(updateMessage(payload, data));
});
person qzb    schedule 31.08.2016
comment
Спасибо qzb, у меня больше нет сообщения об ошибке. Но знаете ли вы, почему иногда сервис ничего не возвращает, а иногда работает. Я проверил все учетные данные, и все в порядке. - person N.Nicolas; 31.08.2016
comment
К сожалению, я ничего не знаю об этом сервисе, поэтому не могу вам помочь :/ - person qzb; 31.08.2016