如何让deferred.promise正常工作?

How to get deferred.promise to work properly?

我很难与 deferred.promise 和 jQuery 相处。这样做的正确方法是什么?

JS

var init = function () {
    var getItems = getJson.getItemData;
     //Some other code that will use getItems
}

var getJson = function () {
  return{
    getItemData: function (){
      var deferred = $.Deferred();
      $.get('itemData.json').success(function(response){
        deferred.resolve(response);
      });
      return deferred.promise;
    }
  }
};

这个returns未定义。这就是我在 angular 中类似完成的方式,但在 jQuery 中没有这样做。有没有办法用 jQuery 做到这一点?

这是您发布的所有代码,归结为所需的最少代码

var init = function () {
    $.get('itemData.json').then(function(getItems) {
        // here getItems is closer to what you want it to be
        //Some other code that will use getItems
    });
}

其余的都是不必要的废话