我需要在异步函数完成后创建一个jqueryUI可拖动帮助器,但似乎我不能在helper函数中返回一个promise。这是一个小提琴(https://jsfiddle.net/andytaft/a5kfodxq/),这里是代码:
function getItems() {
var dfd = new $.Deferred();
dfd.resolve('<div>Hello World</div>')
return dfd.promise();
}
$( '.my-draggable' ).draggable({
appendTo: 'body',
helper: function () {
/*
getItems.done(function(items) {
//Originally tried "return items;" here, which obviously wouldn't work on parent helper function
return items;
});
*/
//return '<div>Hello World</div>'; //this works
return getItems(); //this does not work
}
});
正如我的评论所提到的,我最初尝试从子getItems()函数中返回项目,但忘记了您无法从子项中返回父函数。
我的问题与this帖子有类似的标题,但由于篇幅有限且没有代码示例,因此很难说帖子的内容是什么。