0
Я использую обещания при настройке ответов. Мой код выглядит примерно так:Экспресс-ответ undefined in prom
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");
}
Когда я бегу getUserByUsername
метод я получаю TypeError: Cannot read property 'json' of undefined
. У меня возникли проблемы с пониманием, почему ответ undefined
в defaultJsonResponse(njson, res)
Вы должны передать обратный вызов 'then', а не результат вызова функции. Оберните их в выражения функций. – Bergi
Почему у вас есть функция defaultJsonResponse, определенная дважды? Вам также не хватает скобок после инструкции if/else. – user2263572
@ user2263572, там нет необходимости в скобках. Вы уверены, что получаете ответ? Если да, можете ли вы предоставить JSON? – Filipe