node.js使用promise如果有if...else怎么改成链式的
回调里面有if语句,再进入不同的回调的时候,一个怎么改成链式。
const selArr = [userid, body.goodsid];
const insArr = [userid, body.goodsid];
const delArr = [userid, req.body.goodsid];
// mysql
const select = "select * from xx_member_favorite_product where FAVORITE_MEMBERS = ? AND FAVORITE_PRODUCTS = (SELECT ID FROM xx_product WHERE SN = ?)";
const insert = "insert into xx_member_favorite_product set FAVORITE_MEMBERS = ?, FAVORITE_PRODUCTS = (SELECT ID FROM xx_product WHERE SN = ?)";
const del = "delete from xx_member_favorite_product where FAVORITE_MEMBERS = ? and FAVORITE_PRODUCTS = (SELECT ID FROM xx_product WHERE SN = ?)";
sqInfo.query(select, selArr)
.then( oldData => {
const data = oldData[0];
if (data) {
/**已有的话删除 */
sqInfo.query(del, delArr)
.then( () => {
return res.status(200).json({
err_code: 1,
message: "移出收藏夹成功!"
});
})
.catch( err => {
next(err);
})
}
if (!data) {
sqInfo.query(insert, insArr)
.then( () => {
return res.status(200).json({
err_code: 0,
message: "收藏成功!"
});
})
.catch( err => {
next(err);
})
}
})
.catch( err => {
next(err);
})
这种里面有if判断的改这么改成链式
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
基本上实现不了,用async/await吧