我在客户模块中有两个功能,都是承诺:
将http主体解析为customerData对象。
将customerData传递给saveCustomer以将其保存到数据库中。
在我的路线中,我这样做:
customers.parse(body).then(function (customerData){
return customerData;
}).then(function (merchantData){
customers.saveCustomer(customerData).then(function (merchant) {
res.success(merchant);
})
}).catch(function (err) {
res.error(err);
});
我做得对吗?
答案 0 :(得分:2)
可以简化如下:
customers.parse(body)
.then(function (customerData){
return customers.saveCustomer(customerData)
}).then(function (merchant) {
res.success(merchant);
}, function (err) {
res.error(err);
});
说明:
then
是多余的。customers.saveCustomer
链接到第一个承诺,而不是创建单独的链。customers.saveCustomer
错误的情况,因为你没有返回那个承诺。