0

我正在尝试使用带有 Node.js 的 IBM Watson Conversation 服务。我使用'express'来发布消息:

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 上,请退回我的包裹......虽然这似乎是一个普遍的问题......谢谢你的帮助。

4

1 回答 1

0

对 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));
});
于 2016-08-31T12:19:21.953 回答