[英]Returning promise value in event callback
我正在使用角度拖放模块: https : //github.com/marceljuenemann/angular-drag-and-drop-lists
我对这个活动感兴趣
dnd-drop元素在列表上时调用的可选表达式。
返回值确定对放置的进一步处理:
false放置将被取消,并且不会插入该元素。
true表示允许删除,但dnd-drop回调将负责插入元素。
在此事件回调中,我向REST服务器发出请求,以查看是否可以删除该项,并且我想根据其响应返回true或false。 所以代码看起来像这样:
function dropCallback(){
var value;
$http.post('url', data)
.then(function success(){
value = true;
}, function error(){
value = false;
});
return value;
}
因此返回值是不确定的,因为回调将在从服务器获得响应后执行。 我应该如何重构代码以实现此目标?
由于事件的文档没有说任何有关Promises被接受为回调的返回值的信息-答案是: 您不能 。
您发出的请求将被添加到执行堆栈的末尾(因此,在完成所有当前作业之后,将在以后执行该请求)。 它不会中断回调的执行。 因此,回调执行将仅到达代码末尾,并且您的请求响应处理程序将不会影响回调的返回值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.