所以我已经坚持了很长一段时间。我在这里问了一个类似的问题:done() 究竟是如何工作的,我如何在 done() 中循环执行? 但我想我的问题已经改变了一点。
所以问题是,我正在加载很多流,并且需要一段时间来处理它们。所以为了弥补这一点,我想至少将已经处理过的流加载到我的网页上,同时继续处理推文流。
loadTweets: function(username) {
$.ajax({
url: '/api/1.0/tweetsForUsername.php?username=' + username
}).done(function (data) {
var json = jQuery.parseJSON(data);
var jsonTweets = json['tweets'];
$.Mustache.load('/mustaches.php', function() {
for (var i = 0; i < jsonTweets.length; i++) {
var tweet = jsonTweets[i];
var optional_id = '_user_tweets';
$('#all-user-tweets').mustache('tweets_tweet', { tweet: tweet, optional_id: optional_id });
configureTweetSentiment(tweet);
configureTweetView(tweet);
}
});
});
}};
}
这几乎就是我现在代码的结构。我猜问题出在 for 循环上,因为在 for 循环完成之前什么都不会显示。所以我有两个问题。
- 如何在处理推文时将推文流显示在我的网站上?
- 如何确保 Mustache.load() 在执行此操作时只执行一次?