这是我的代码:
sound1
这是我运行文件时的输出($ node test.js): 我在我的ubuntu机器上试过这个,它完美无缺。这就是我的mac。有人可以解释我为什么会这样。任何帮助将不胜感激。
listening increment value: 2 _http_server.js:192 throw new RangeError(`Invalid status code: ${statusCode}`); ^ RangeError: Invalid status code: 2 at ServerResponse.writeHead (_http_server.js:192:11) at ServerResponse._implicitHeader (_http_server.js:157:8) at ServerResponse.OutgoingMessage.end (_http_outgoing.js:559:10) at ServerResponse.send (/Users/sharath/webapps/docker/node_modules/express/lib/response.js:209:10) at ServerResponse.sendStatus (/Users/sharath/webapps/docker/node_modules/express/lib/response.js:346:15) at Command.callback (/Users/sharath/webapps/docker/test.js:24:13) at normal_reply (/Users/sharath/webapps/docker/node_modules/redis/index.js:714:21) at RedisClient.return_reply (/Users/sharath/webapps/docker/node_modules/redis/index.js:816:9) at JavascriptRedisParser.returnReply (/Users/sharath/webapps/docker/node_modules/redis/index.js:188:18) at JavascriptRedisParser.execute (/Users/sharath/webapps/docker/node_modules/redis-parser/lib/parser.js:415:12)
答案 0 :(得分:3)
Http响应状态应该是整数。它不能是字符串,对象,数组等,应该从100开始。
从您的代码中我看到您尝试
- (Atype*)makeAtypeWithBtype:(nullable BType*)btype {
Atype* _Nullable a = [btype makeAtype];
if (a) {
// All good here.
return NONNUL_CAST(a);
} else {
// a appeared as nil. Some fallback is needed.
[self reportError];
return [AtypeFactory makeDeafult];
}
}
检查回复变量。从redis incr响应我认为它是字符串“OK”。
哪个不好..所以要修复它只需使用
res.sendStatus(reply);
同时检查一下。
http://expressjs.com/en/4x/api.html#res.sendStatus
这个
https://en.wikipedia.org/wiki/List_of_HTTP_status_codes
修改强>
如果您需要将一些JSON或数据发送到前端,请执行此操作
res.sendStatus(reply ? 200 : 500);
或
res.json({thisIsMyNumber: reply});
希望这有帮助。