Javascript jquery ui可拖动异步帮助程序

Javascript jquery ui可拖动异步帮助程序,javascript,jquery,jquery-ui,asynchronous,jquery-ui-draggable,Javascript,Jquery,Jquery Ui,Asynchronous,Jquery Ui Draggable,我需要在一个异步函数完成后创建一个jqueryUI可拖动的帮助器,但似乎我不能在帮助器函数中返回承诺。这里是fiddle(),下面是代码: function getItems() { var dfd = new $.Deferred(); dfd.resolve('<div>Hello World</div>') return dfd.promise(); } $( '.my-draggable' ).draggable({ appen

我需要在一个异步函数完成后创建一个jqueryUI可拖动的帮助器,但似乎我不能在帮助器函数中返回承诺。这里是fiddle(),下面是代码:

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(){ var dfd=新的$.Deferred(); dfd.resolve('Hello World') 返回dfd.promise(); } $('.my draggable')。draggable({ 附于:'正文', 助手:函数(){ /* getItems.done(函数(项){ //最初在这里尝试了“returnitems;”,这显然不适用于父助手函数 退货项目; }); */ //返回“Hello World”;//这有效 return getItems();//这不起作用 } }); 正如我的评论所提到的,我最初试图从子getItems()函数中返回项,但忘记了不能从子函数中返回父函数


我的问题与帖子的标题类似,但很难说出帖子的问题,因为细节有限,没有代码示例。

不清楚你想实现什么。看起来它的设置也不正确。您是否会使用
.done()
与promise进行比较?还应该看到:Twisty,JqueryUI帮助程序是开始拖动时显示的。正如我的提琴所示,我想基于异步调用构建它。您可以在控制台中看到错误,或者取消注释第一个helper return以查看它是否同步工作。是的,如果可以从done()函数内部返回,我将使用注释掉的帮助程序代码中所示的done(),但您不能这样做(据我所知)。另一个栈柱与此无关,而被接受的小提琴甚至不起作用。。。