我有一个名为handleWidgetDrop的函数。在函数中,我调用另一个函数insertBlankWidget,该函数将在promise对象返回时执行某个函数。问题是在对promiseBillkWidget中的代码进行调用之前,将执行对insertBlankWidget的函数调用之后的handleWidgetDrop中的代码。我如何撤消此操作,并在成功执行promise对象后在调用insertBlankWidget()之后的代码之前执行函数中的代码。
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
});
}
最佳答案
只需在promise上链接一个.done
函数。尽管如此,您必须从insertBlankWidget
返回诺言:
insertBlankWidget:function(){
var promise=this.getWidgetModel();
promise.done(function(){
//code which must be executed before Lines after insertBlankWidget
});
return promise;
}
然后,您将可以链接到
handleWidgetDrop
:handleWidgetDrop:function (){
//some lines
this.insertBlankWidget().done(function(){
//Lines after insertBlankWidget call
});
}