继承我的代码:
var delete_card = function(){
stripe.customers.deleteCard(
this.service_id.stripe,
this.credit_card[0].stripe_id
)
.then(function(obj){
this.recipients.splice(0, 1);
return this.save()
})
}
条带调用和保存调用都返回promise。
我如何从delete_card方法返回一个承诺?
我会像新的承诺一样将它们全部包裹起来并从那里回复承诺吗? 我将如何构建,以便将错误和结果冒出来?
我希望能够像这样从来电者那里做点什么:
delete_card
.then(...)
.catch(...)
只是继续撰写链式承诺?
答案 0 :(得分:5)
只需在delete_card
函数中返回承诺。
var delete_card = function(){
/************/
/**/return/**/ stripe.customers.deleteCard(
/************/
this.service_id.stripe,
this.credit_card[0].stripe_id
)
.then(function(obj){
this.recipients.splice(0, 1);
return this.save()
})
}
编辑:由于代码差异如此微妙,我明确地说明了添加return
的位置。