此节点Javascript单行条件有什么问题?

此节点Javascript单行条件有什么问题?,javascript,node.js,express,Javascript,Node.js,Express,这是: ( result.username === user.username ) ? res.status( 500 ).json( "That username is already taken." ) : res.status( 500 ).json( "That email has already been used." ) 这不应该做第一件事吗,res.status 500.json,用户名已经被占用了,如果条件为真?相反,它说: [TypeError: undefined is n

这是:

( result.username === user.username ) ? res.status( 500 ).json( "That username is already taken." ) : res.status( 500 ).json( "That email has already been used." )
这不应该做第一件事吗,res.status 500.json,用户名已经被占用了,如果条件为真?相反,它说:

[TypeError: undefined is not a function]
这正如预期的那样有效

if ( result.username === user.username ) return res.status( 500 ).json( "That username is already taken." )
else return res.status( 500 ).json( "That email has already been used." )

抱歉,如果我仍然没有发现输入错误。

json中的字符串不是json格式, 尝试:


以下代码将正常:

var express = require('express');
var app = express();

app.get('/', function (req, res) {   
    (true) ? res.status( 500 ).json( "That username is already taken.") : res.status( 500 ).json( "That email has already been used." )
});

var server = app.listen(9000, function () {

var host = server.address().address;
var port = server.address().port;

console.log('Example app listening at http://%s:%s', host, port);

});

请发布准确的错误消息及其指向的位置。此外,此oneliner之前的行是什么样子的?如果条件为false,它是否有效?这应该是if/else语句或res.status 500.json result.username===user.username?该用户名已被使用:那封电子邮件已经被使用了。如果result.username===user.username{res.status 500.JSON该用户名已被使用,则很难抛出[TypeError:undefined不是函数];否则{res.status 500.JSON该电子邮件已被使用。}这会重复问题吗?在第一个代码示例的末尾缺少分号
var express = require('express');
var app = express();

app.get('/', function (req, res) {   
    (true) ? res.status( 500 ).json( "That username is already taken.") : res.status( 500 ).json( "That email has already been used." )
});

var server = app.listen(9000, function () {

var host = server.address().address;
var port = server.address().port;

console.log('Example app listening at http://%s:%s', host, port);

});