0

各 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);
            });
        });

    });
}
4

1 に答える 1