Bagaimanakah Saya Boleh Mengawal Perlaksanaan Tamat Masa dan Menentukan Baki Masa dalam JavaScript?

Susan Sarandon
Lepaskan: 2024-10-22 20:47:12
asal
286 orang telah melayarinya

How Can I Control Timeout Execution and Determine Remaining Time in JavaScript?

Menjeda dan Menyambung Masa Tamat dalam JavaScript

Apabila bekerja dengan JavaScript, anda mungkin perlu mengawal aliran operasi tak segerak seperti tamat masa. Di sini, kami meneroka cara untuk menjeda dan menyambung semula tamat masa aktif, serta mendapatkan baki masa pada tamat masa semasa.

Menjeda dan Menyambung Masa Tamat

Untuk menjeda tamat masa, anda boleh menggunakan pembalut fungsi yang memintas tetingkap.setTimeout panggilan dan menyediakan fungsi yang diperlukan. Fungsi pembalut, Pemasa, mengambil fungsi panggil balik dan kelewatan sebagai argumen dan mengendalikan penjedaan, penyambungan semula dan penjejakan masa yang tinggal.

<code class="javascript">var Timer = function(callback, delay) {
    var timerId, start, remaining = delay;

    this.pause = function() {
        window.clearTimeout(timerId);
        timerId = null;
        remaining -= Date.now() - start;
    };

    this.resume = function() {
        if (timerId) {
            return;
        }

        start = Date.now();
        timerId = window.setTimeout(callback, remaining);
    };

    this.resume();
};</code>
Salin selepas log masuk

Untuk menggunakan pembungkus ini, buat seketika objek Pemasa dan panggilnya kaedah pause() dan resume() mengikut keperluan.

Mendapatkan Baki Masa

Untuk mendapatkan baki masa pada tamat masa semasa, salah satu cara ialah menyimpan masa mula apabila tamat masa ditetapkan dan kira perbezaan antara masa semasa dan masa mula apabila berhenti seketika.

<code class="javascript">var start = Date.now();
var t = setTimeout("dosomething()", 5000);
var remaining = (start + 5000) - Date.now();</code>
Salin selepas log masuk

Walau bagaimanapun, adalah penting untuk ambil perhatian bahawa jika tamat masa telah dijeda dan disambung semula, pengiraan ini mungkin tidak tepat. Dalam fungsi pembalut Pemasa yang disediakan sebelum ini, masa yang tinggal dijejaki dan dikemas kini dengan sewajarnya, menyediakan kaedah yang lebih dipercayai untuk mendapatkan masa yang tinggal.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengawal Perlaksanaan Tamat Masa dan Menentukan Baki Masa dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!