


Mengapa Fungsi `setTimeout` Saya Melaksanakan Serta-merta Daripada Pada Masa yang Dijadualkan?
Nov 12, 2024 pm 01:40 PMMengapa Fungsi Saya Tidak Dijadualkan oleh setTimeout Dilaksanakan Serta-merta?
Kod anda bertujuan untuk menguji pelayan proksi menggunakan fungsi setTimeout untuk memanggil doRequest dengan selang 10 saat. Anehnya, fungsi tersebut dilaksanakan serta-merta dan bukannya mengikut jadual yang dimaksudkan.
Memahami Isu
Masalahnya terletak pada cara anda menghantar fungsi doRequest ke setTimeout. Apabila anda menentukan fungsi sebagai hujah pertama, seperti dalam setTimeout(doRequest(url, proxys[proxy]), proxytimeout), fungsi tersebut akan digunakan serta-merta.
Penyelesaian
Untuk menyelesaikan isu ini, anda mempunyai tiga pilihan:
-
Lulus hujah sebagai parameter berasingan:
setTimeout(doRequest, proxytimeout, url, proxys[proxy]);
Salin selepas log masuk -
Gunakan ungkapan rentetan:
setTimeout('doRequest(' + url + ',' + proxys[proxy] + ')', proxytimeout);
Salin selepas log masuk -
Tentukan fungsi tanpa nama dalam a penutupan:
(function(u, p, t) { setTimeout(function() { doRequest(u, p); }, t); })(url, proxys[proxy], proxytimeout);
Salin selepas log masuk
Pilihan pertama diutamakan kerana ia lebih jelas dan lebih jelas. Pilihan kedua kurang diingini kerana sifatnya yang "godam", manakala pilihan ketiga boleh menjadi rumit untuk difahami tetapi menghalang nilai daripada berubah dalam gelung.
Atas ialah kandungan terperinci Mengapa Fungsi `setTimeout` Saya Melaksanakan Serta-merta Daripada Pada Masa yang Dijadualkan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Artikel Panas

Alat panas Tag

Artikel Panas

Tag artikel panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Ganti aksara rentetan dalam javascript

Tutorial Persediaan API Carian Google Custom

8 plugin susun atur halaman jquery yang menakjubkan
