0

Javascriptでアプリケーションを作成しています。アプリは、ユーザーが特定のアクションを実行してから1時間後に関数を実行する必要があります。関数を実行するためにこれらのスケジュールされたタスクを作成するために何を使用できますか?

ユースケースの説明:ユーザーが自分のステータスをクリックして「アクティブ」にします。1時間後、ステータスは自動的に「非アクティブ」に変更されます。

4

2 に答える 2

1

あなたはそのために使うことができますsetTimeout()

var timer = setTimeout(function() {
    // Task
}, 60 * 60 * 1000);

そしてclearTimeout()、余分な場合にタイムアウトを停止するには:

clearTimeout(timer);
于 2012-12-05T09:07:11.753 に答える
0

ステータスがアクティブに設定されたら、サーバーにメッセージを送信して時間を記録します。次に、以下のような定期的な関数を頻繁に実行して、時間が経過していないことを確認します。

function checkStatus( ) {

    function check( ) {
        //Check with server. Should I set status to inactive

        var timer = setTimeout(check, 60 * 1000);
    }
    check();
}

ユーザーがブラウザを閉じて再度開いた場合、サーバーで時間が経過していない場合は、ステータスをアクティブに設定して、機能を実行し続けることができます。

于 2012-12-05T09:25:53.893 に答える