0
私は約束を使用して応答を設定します。私はTypeError: Cannot read property 'json' of undefined
を得るgetUserByUsername
方法を実行すると約束事で未定義の返答
app.get("/api/assignment/user", getUserByUsername);
function getUserByUsername (req, res) {
var username = req.query.username;
model.findUserByUsername(username)
.then(defaultJsonResponse(res), notFound(res));
}
function defaultJsonResponse(res) {
return function(nObj) { defaultJsonResponse(nObj, res)};
}
function defaultJsonResponse(njson, res) {
if(njson) res.json(njson);
else notFound(res, "error");
}
:私のコードは次のようになります。応答が@Bergiは、JavaScriptの関数のオーバーロードについての理解の私の欠如である上記のコメントで言ったように答えはあるundefined
関数呼び出しの結果ではなく、 'then'にコールバックを渡す必要があります。それらを関数式で囲みます。 – Bergi
なぜdefaultJsonResponse関数が2回定義されていますか? if/elseステートメントの後に角括弧もありません。 – user2263572
@ user2263572、そこに角括弧は必要ありません。あなたは本当に返事をしていますか?はいの場合は、JSONを提供できますか? – Filipe