exports.index = function(req, res) {
moviedb.indexMovie()
.then(x => {
Movie.findAsync()
.then(responseWithResult(res))
.catch(handleError(res))
}
)
};
function responseWithResult(res, statusCode) {
statusCode = statusCode || 200;
console.log("Populating Response");
return function(entity) {
if (entity) {
res.status(statusCode).json(entity);
}
};
}
Приведенный выше код работает отлично, возвращенная функция в функции responsewithresult заполняется с ответом .then. Тем не менее, я экспериментировал и пытался это вместо этого, но это не сработало. Пожалуйста, объясните почему?Javascript Анонимная функция в течение этого звонка
exports.index = function(req, res) {
moviedb.indexMovie()
.then(x => {
Movie.findAsync()
.then(x => {responseWithResult(res)}) // <-- this doesn't work
.catch(handleError(res))
})
};
У меня есть первая часть. Но можете ли вы рассказать о том, что вы подразумеваете под «doesnt sequence operations». – shiv
@ Бенджамин прав. См. Пример документации: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions#Shorter_functions – Nirus
Теперь я понимаю бит операции со стрелкой. О том, о чем говорила Бэнжамин в последовательности. Как я могу это сделать и каковы преимущества? – shiv