各 JSON 要素間に間隔を設定しようとしています。この JSON は、API エンドポイントから取得したいくつかのツイートをページに出力します。
問題は、以下の機能が機能しないことです。何らかの理由で、タイミング関数で宣言した時間だけ待機しますが、待機した後、宣言した間隔で 1 つずつ出力するのではなく、JSON の最後のツイートを出力します。
私は両方setTimeout
で試してみましたsetInterval
が、うまくいきませんでした。
目標は、JSON 応答から TOT 秒ごとにツイートを表示することです。
API エンドポイントは次のとおりです。xxxx/tweets.php
これが私の機能です:
function tweets() {
$.when(getData(tweetsEndpoint)).done(function(json) {
$.each(json.twitter, function(k, v) {
$.each(v, function() {
setTimeout(function() {
tweetId = v.id;
tweetName = v.nom;
tweetUser = v.lien_twitter;
tweetImg = v.image;
tweetDate = v.date;
tweet = v.twitt;
tweetAuthor = v.author_type;
if (tweetAuthor === 'user') {
console.log('user');
$('#p31_bubble_right').html('');
obj = $('#p31_bubble_right').append(makeTweet(k, tweetUser, tweetAuthor, tweet));
obj.fitText(7.4);
$('#p31_bubble_left').html('');
} else {
$('#p31_bubble_left').html('');
obj = $('#p31_bubble_left').append(makeTweet(k, tweetUser, tweetAuthor, tweet));
obj.fitText(7.4);
$('#p31_bubble_right').html('');
console.log('operator');
}
}, tweetSwitcher);
});
});
});
}