Rumah > hujung hadapan web > tutorial js > Bagaimanakah Saya Boleh Mengekalkan Konteks `ini` dalam Panggilan Balik `setInterval` JavaScript?

Bagaimanakah Saya Boleh Mengekalkan Konteks `ini` dalam Panggilan Balik `setInterval` JavaScript?

Patricia Arquette
Lepaskan: 2024-11-29 10:34:14
asal
271 orang telah melayarinya

How Can I Preserve the `this` Context in JavaScript's `setInterval` Callback?

Memelihara ini dalam setInterval Callback JavaScript

Dalam JavaScript, kata kunci ini merujuk kepada objek yang memiliki kod yang sedang dilaksanakan. Ini boleh menjadi masalah apabila menggunakan setInterval, kerana fungsi panggil balik dilaksanakan dalam konteks yang berbeza, kehilangan akses kepada asal ini. Untuk mengatasinya:

Mengakses ini dalam setInterval Handlers

Untuk membenarkan akses kepada ini dalam panggilan balik setInterval, kita boleh menggunakan kaedah bind():

this.intervalID = setInterval(this.retrieve_rate.bind(this), this.INTERVAL);
Salin selepas log masuk

Di sini , bind(this) memastikan bahawa ini dalam panggilan balik retrieve_rate sentiasa merujuk kepada objek di mana selang itu ditetapkan (iaitu, objek di mana prefs ditakrifkan).

Dengan pengubahsuaian ini, anda kini boleh mengakses this.prefs dalam panggilan balik ajax.onload:

ajax.onload = function()
{
    // Access this.prefs here
}
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengekalkan Konteks `ini` dalam Panggilan Balik `setInterval` JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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