我很开心Promises
,但有一个问题。
这是我的代码
req.checkBody(BookManager.SCHEME);
req.getValidationResult()
.then(function (result) {
if (!result.isEmpty()) {
handler.onError('Invalid payload');
return;
}
return new BookModel({
author: data.author,
name: data.name,
year: data.year
});
})
.then((book) => {
book.save();
})
.then((saved) => {
handler.onSuccess(saved);
})
.catch((error) => {
handler.onError(error.message);
});
但由于某种原因,这句话
.then((book) => {
book.save();
})
将book参数设置为undefined。
我做错了什么,如何将结果从then
语句传递给下一个语句。
感谢。
答案 0 :(得分:0)
抱歉,我刚刚发现了这个问题,你只需要抛出一个错误就可以打破链条。
.then(function (result) {
if (!result.isEmpty()) {
throw new Error('Invalid payload');
}