Metode clearTimeout Vue JS

Gan ini kenapa clearTimeout nya g jalan ya


<div class="smsgateway-3">
	<div id="kirim" v-on:click="kirim">KIRIM</div>
</div>

<div class="smsgateway-4">
	<div class="toast" v-if="notif">{{toast}}</div>
</div>

var app = new Vue({})

data : {
	notif: false
}

kirim: function() {
	var test;
	if (app.notif === false) {
		console.log('notif true')
		app.notif = true;
		test = setTimeout(function() {
			console.log('notif false');
			app.notif = false;
		}, 2000)
	} else {
		console.log('cleartimeout');
		clearTimout(test);
		app.notif = true

	}
}
avatar wandifrog
@wandifrog

274 Kontribusi 56 Poin

Diperbarui 6 tahun yang lalu

6 Jawaban:


kirim: function() {
	var test = setTimeout(function() {
		app.notif = false
	}, 2500);
	if (app.notif === false) {
		console.log('notif true')
		app.notif = true;
		test;
	} else {
		console.log('cleartimeout');
		clearTimout(test);
		app.notif = true

	}
}

kenapa errornya 'clearTimeout is not defined' ??

avatar wandifrog
@wandifrog

274 Kontribusi 56 Poin

Dipost 6 tahun yang lalu

typo gan

 clearTimout(test);

mestinya

 clearTimeout(test);
avatar rachmatsasongko
@rachmatsasongko

410 Kontribusi 426 Poin

Dipost 6 tahun yang lalu

oiya gan hahahaha. parah ane gan gk teliti bener

avatar wandifrog
@wandifrog

274 Kontribusi 56 Poin

Dipost 6 tahun yang lalu

Tapi aneh dah nih gan


data : {  notif: false  }
kirim: function() {
	var test = setTimeout(function() {
		console.log('timeout selesai')
		app.notif = true
	}, 2000);
	if (app.notif === false) {
		console.log('notif true')
		app.notif = true;
		test;
	} else {
		console.log('cleartimeout');
		clearTimeout(test);
		app.notif = false
	}
}

jadi kan fungsi kirim() itu saya masukin kedalam event click. logika diatas seharusnya kalo saya klik sekali kan notifnya diubah ke TRUE, nah terus kalo saya klik lagi sebelum 2 detik harusnya jalanin yang clearTimeout, tapi kok malah g jalan ya, setelah 2 detik balik lg notif nya jadi TRUE. harusnya udah jd FALSE.

avatar wandifrog
@wandifrog

274 Kontribusi 56 Poin

Dipost 6 tahun yang lalu

Nah kasus yang diatas itu pas saya klik cepet 2x klik, notif nya berubah jd FALSE tapi setelah 2 detik berubah lg jd TRUE berarti kesimpulannya clearTimeout nya gk jalan gan, knp bisa gitu ya?

avatar wandifrog
@wandifrog

274 Kontribusi 56 Poin

Dipost 6 tahun yang lalu

Jawaban Terpilih

Ohh dah ngerti ane gan, ternyata variabel itu pasti dijalanin sekali toh beda sama fungsi yang musti dipanggil dulu, pas variabel test nya ane buang keluar fungsi kirim ternyata fungsinya baru bisa jalan sesuai yg ane mau. Thx agan @rachmatsasongko yang udah koreksi kodingan ane yg typo haha

avatar wandifrog
@wandifrog

274 Kontribusi 56 Poin

Dipost 6 tahun yang lalu

Login untuk ikut Jawaban