Mengakses ini dalam setInterval Handlers dalam JavaScript
Apabila menggunakan setInterval untuk menjadualkan pelaksanaan fungsi pada selang waktu tertentu, selalunya perlu untuk mengakses objek yang memulakan selang dalam fungsi pengendali. Walau bagaimanapun, kata kunci ini di dalam pengendali mungkin tidak merujuk kepada konteks yang betul, yang membawa kepada ralat.
Penyelesaian: Menggunakan bind
Untuk memastikan kata kunci ini merujuk kepada objek yang dimaksudkan dalam pengendali setInterval, anda boleh menggunakan kaedah bind(). Seperti yang ditunjukkan dalam kod di bawah:
this.intervalID = setInterval(this.retrieve_rate.bind(this), this.INTERVAL);
Dengan mengikat fungsi retrieve_rate pada konteks semasa ini, kata kunci ini dalam fungsi ajax.onload akan menghala dengan betul ke objek yang memulakan selang. Ini membolehkan anda mengakses harta this.prefs seperti yang dikehendaki.
Atas ialah kandungan terperinci Bagaimana untuk Mengakses `ini` dengan betul dalam Pengendali `setInterval` dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!