我有一个提取 foursquare 信息的each 循环。它看起来类似于以下内容:
$.getJSON('https://api.foursquare.com/v2/venues/search?search_string_here',
function(data) {
$.each(data.response.venues, function(i,venues){
var content = foursquare stuff;
$(content).appendTo("#fourSquare");
});
});
我需要在每个循环完成后启动一个函数。如果放在每个循环之后,这将起作用:
$( "#fourSquare" ).promise().done(function() {
//do stuff
});
我不熟悉promise
- 奇怪的是它适用于任何选择器。两个问题:
1) 这是进行 every 回调的最佳方式吗? 2)这里正确的选择器是什么?每个都不会迭代已经存在的元素,所以我不确定要“ promise ”什么
最佳答案
$.getJSON
将返回一个您可以使用的 promise 。这将在回调之后调用。
var $ajax = $.getJSON('url', function(data){
// your $.each
});
$ajax.done(function(){
// do stuff
});
关于jquery - $.each 使用 Promise 完成后运行 jquery 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17819083/