什么是使用jQuery的正确方法当函数等待某些函数时

时间:2017-07-05 22:41:39

标签: javascript jquery async-await

我有一个jquery方法:

$.when(
  function() {
    console.log("1st Func!");
  },
  function() {
    console.log("2nd Func!");
  }
).done(function() {
  console.log("Done Func!");
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

我希望前两个方法调用并完成,最后运行done方法。我期待在控制台中:

1st Func!
2nd Func!
Done Func!

但只有调用的done方法和控制台类似:Done Func!

问题出在哪里?

更新

我从评论中得到应该是一个承诺时的功能。 在实际样本中,我有:

var getAndSetFromAPI = function(keyName, callback){
    if (localStorage.getItem(keyName) === null){
        $.AjaxCall(.., .., callback(data));
    }
    else{
      if(callback){ callback(localStorage.getItem(keyName))}
    }
};

我有一个对象列表:

mylist.each(function (index, element){
      getAndSetFromAPI(element, function(date){fillData(element, data);}
});

那么您有什么建议等待完成每个元素然后再处理另一个元素?

0 个答案:

没有答案