试图掌握将异步函数链接在一起,因为我正在学习使用Parse.com
我有一个类似的功能:
delete_post(post_id)
.then(function (){
_this.show_posts(thread_id);
}).then(function (){
_this.clear_submit_forum();
})
它运作正常!现在当我添加一个前面的函数,它看起来像:
show_confirmation_alert("are you absolutely sure you want to delete the post?")
.then(function(){
delete_post(post_id);
}).then(function (){
_this.show_posts(thread_id);
}).then(function (){
_this.clear_submit_forum();
})
我的节目确认功能做了这样的事情:
$popup = create_popup(message)
var def = new $.Deferred();
$popup.find(".ok").bind("click", function (){
def.resolve();
});
$popup.find(".cancel").bind("click", function(){
def.reject();
});
$popup.popup();
$popup.popup("open");
return def.promise();
但是当我在弹出窗口单击“确定”时,所有功能都开始运行,因此没有用。我真的希望有一个弹出窗口,它可以调用一系列函数,而无需每次添加处理程序时都能让我的生活变得更轻松。什么可能导致这种情况。有什么我真的很想念承诺吗?我认为当时的函数不能运行,直到它收到前面函数的一个已解决的答案,那么为什么它们不是串联链接?感谢