JavaScript ທີ່ບໍ່ຕ້ອງການການຕອບສະໜອງ
- ບ່ອນກ່ອນ JS Callback
- ບ່ອນຕໍ່ໄປ JS Promise
"ຂ້ອຍຈະສຳເລັດພາຍຫຼັງ!"
ການສານທີ່ດຳເນີນຕະຫຼອດກັບການສານອື່ນໆຖືກເອີ້ນວ່າ
ຕົວຢ່າງທີ່ດີຂອງ JavaScript setTimeout()
JavaScriptຄວາມອັນຕະລາຍ
ຕົວຢ່າງທີ່ນໍາໃຊ້ໃນປີກາຍນີ້ແມ່ນມີການຫຼຸດລົງຫຼາຍ.
ພາສາມາດສະແດງວ່າການສັດຍາການສານຫຼັງການສະຫຼາກຊ່ວງ:
ຕົວຢ່າງ
function myDisplayer(some) { document.getElementById("demo").innerHTML = some; } function myCalculator(num1, num2, myCallback) { let sum = num1 + num2; myCallback(sum); } myCalculator(5, 5, myDisplayer);
ໃນຕົວຢ່າງທີ່ກ່າວກ່າວນີ້,myDisplayer
ມັນແມ່ນຊື່ຢູ່ພາຍໃນການສານ.
ມັນຖືກສົ່ງສານເປັນການສານຫາ myCalculator();
。
ໃນໂລກຄັບຄົງຂອງພວກເຮົາ,ການໃຊ້ການສັດຍາກັບການສານຫຼັງການສະຫຼາກຊ່ວງແມ່ນມີຫຼາຍຄົນທີ່ມັກກັບການສານອື່ນໆ
ຕົວຢ່າງທີ່ປະຈຸບັນຂອງ JavaScript setTimeout();
。
ລໍຖ້າການສະຫຼາກຊ່ວງ
ທີ່ໃຊ້ຫົວຫນ້າ JavaScript ພາສາ, setTimeout();
ຖ້າທ່ານກຳລັງສົ່ງການສານຫາການສານອື່ນໆ,ທ່ານສາມາດກຳນົດການໂຕ້ຕອບທີ່ຈະດຳເນີນຕາມການສະຫຼາກຊ່ວງ:
ຕົວຢ່າງ
setTimeout(myFunction, 3000); function myFunction() { document.getElementById("demo").innerHTML = "I love You !!"; }
ໃນຄວາມຈິງທີ່ກ່າວກັນນີ້:myFunction
ຖືກໃຊ້ເປັນການໂຕ້ຕອບ.
ປະຕິບັດການ(ປະຕິບັດການ) ທີ່ສົ່ງໄປໃຫ້ setTimeout();
。
3000 ແມ່ນຄວາມກາງລະຫວ່າງການເວລາຂອງການລໍຖ້າ, ດັ່ງນັ້ນຈະມີການເອິ້ນກັບຄັນພື້ນຖານດຽວກັນພາຍໃນ 3 ວັນ. myFunction()
。
ຖ້າທ່ານກຳລັງສົ່ງການສານຫາການສານອື່ນໆ,ທ່ານຄວນບັງຄັບຫຍັງບໍ່ໃຊ້ການໃສ່ຄອບ.
ຂັ້ນຕອນທີ່ຖືກຕ້ອງ: setTimeout(myFunction, 3000);
ຂັ້ນຕອນທີ່ຜິດ: setTimeout(myFunction(), 3000);
ຖ້າບໍ່ມີການສົ່ງຊື່ຢູ່ພາຍໃນການສົ່ງສານຫາອີກພາຍໃນການສົ່ງສານອື່ນໆ,ທ່ານສາມາດສົ່ງການສານໂດຍທັງໝົດຢູ່ພາຍໃນການສົ່ງສານ:
ຕົວຢ່າງ
setTimeout(function() { myFunction("ຂ້ອຍຮັກຮູ້ຢ່າງ!!!"); }, 3000); function myFunction(value) {}} document.getElementById("demo").innerHTML = value; }
ໃນຕົວຢ່າງທີ່ກ່າວກ່າວນີ້,function(){ myFunction("I love You !!!"); }
ຖືກໃຊ້ຄືຄຳແນະນຳ. ມັນແມ່ນຫົວຫນ້າທີ່ເປັນສະບາຍຫົວຫນ້າ. ຫົວຫນ້າທີ່ເປັນສະບາຍຫົວຫນ້າຖືກສົ່ງໄປຄືກັບຄຳແນະນຳໃຫ້ setTimeout().
3000 ແມ່ນຄວາມກາງລະຫວ່າງການເວລາຂອງການລໍຖ້າ, ດັ່ງນັ້ນຈະມີການເອິ້ນກັບຄັນພື້ນຖານດຽວກັນພາຍໃນ 3 ວັນ. myFunction()
。
ລໍຖ້າການເວລາ:
ທີ່ໃຊ້ຫົວຫນ້າ JavaScript ພາສາ, setInterval()
ຖ້າເຈົ້າຕັ້ງການດຳເນີນຄຳແນະນຳຕໍ່ມາໃນເວລາໃດໜຶ່ງການເວລາ,
ຕົວຢ່າງ
setInterval(myFunction, 1000); function myFunction() { let d = new Date(); document.getElementById("demo").innerHTML= d.getHours() + ":" + d.getMinutes() + ":" + d.getSeconds(); }
ໃນຕົວຢ່າງທີ່ກ່າວກ່າວນີ້,myFunction
ໃຫ້ເປັນການສອບສວນ.
ປະຕິບັດການ(ປະຕິບັດການ) ທີ່ສົ່ງໄປໃຫ້ setInterval()
。
1000 ແມ່ນຄວາມກາງລະຫວ່າງການເວລາຂອງມາຍານຫຼັງຈາກການເວລາດັ່ງກ່າວ. myFunction()
ກຳລັງເອິ້ນກັບຄັນພື້ນຖານດຽວກັນເວລາຕໍ່ມາ.
ລໍຖ້າເອມລາຍການ
ຖ້າເຈົ້າສ້າງຫົວຫນ້າທີ່ຈະອ່ານຊັບພະຍາກອນພາຍນອກ (ເຊັ່ນ: ສະບັບສັນຍານ ຫຼື ບັນຊີ) ຈະບໍ່ສາມາດໃຊ້ສິນລະຄວາມນັ້ນມາໄດ້ຈົນກວ່າສິນລະຄວາມພົບພາຍໃນ.
ນີ້ແມ່ນເວລາທີ່ດີທີ່ຈະໃຊ້ຄຳແນະນຳຄືນ.
ບັນຊີນີ້ກຳລັງອອກໄປ HTML ບັນຊີ (mycar.html
) ແລະໃຫ້ສະແດງ HTML ບັນຊີໃນເວັບໄຊຫຼັງຈາກບັນຊີໄດ້ອອກໄປຢ່າງເຕັມຈຳນວນ:
ລໍຖ້າເອມລາຍການ:
function myDisplayer(some) { document.getElementById("demo").innerHTML = some; } function getFile(myCallback) { let req = new XMLHttpRequest(); req.open('GET', "mycar.html"); req.onload = function() { if (req.status == 200) { myCallback(this.responseText); } else { myCallback("ຄຳແນະນຳ: " + req.status); } } req.send(); } getFile(myDisplayer);
ໃນຄວາມຈິງທີ່ກ່າວກັນນີ້:myDisplayer
ໃຫ້ເປັນການສອບສວນ.
ປະຕິບັດການ(ປະຕິບັດການ) ທີ່ສົ່ງໄປໃຫ້ getFile()
。
ມີຂັ້ນນີ້: mycar.html
ຂອງຄືນ:
mycar.html
<img src="img_car.jpg" alt="Nice car" style="width:100%"> <p>ລົດກວດແມ່ນພາຫະນະຄົນທີ່ມີຮູບກວດ, ມີພະລັງງານດ້ວຍພະລັງຈັກ, ຖືກນຳໃຊ້ເພື່ອການຂົນສົ່ງ.</p> <p>ສິ່ງການອະທິບາຍຂອງອັນດັບນີ້ກໍານົດວ່າລົດກວດຈະອາດຈະຕິດຕັ້ງໃຫ້ດຳເນີນໃນຖະໜົນທັງໝົດ, ຈະມີບ່ອນນັ່ງສຳລັບຄົນໜຶ່ງເຈັດຄົນ, ຈະມີສອງສີ່ຮູບກັບບັນດາຮູບກວດ.</p> <p>(Wikipedia)</p>
- ບ່ອນກ່ອນ JS Callback
- ບ່ອນຕໍ່ໄປ JS Promise