我有一个名为handleWidgetDrop的函数。在函数中,我调用另一个函数insertBlankWidget,它在promise对象的返回时执行某个函数。问题在于在函数调用到insertBlankWidget之后的handleWidgetDrop中的代码在承诺对象中的代码之前得到执行。在调用insertBlankWidget()之后的代码之前执行promise对象成功执行之后,如何撤消此操作并在函数中执行代码。 如何获取承诺对象成功函数中的代码在调用之后的代码之前执行?
handleWidgetDrop:function(){
//some lines
this.insertBlankWidget();
//Lines after insertBlankWidget call
}
insertBlankWidget:function(){
var promise=this.getWidgetModel();
promise.done(function(){
//code which must be executed before Lines after insertBlankWidget
});
}
使用回调,http://jsbin.com/zejowogemi/1/edit? – 2014-10-28 14:20:58
诀窍是你只需要知道哪些代码可以异步运行。任何异步都必须进入JavaScript中的回调函数。将回调想象为稍后存储代码。然后,您只需将您的回调传递给承诺对象,或者在另一个回调中调用回调,或者使用许多其他可用工具之一来管理异步代码执行。 – Keen 2014-10-28 14:31:22