JavaScript Async
- ຫນ້າຫນັງ JS Promise
- ຫນ້າຫນັງ ຄວາມຈິງ DOM
"async and await make promises easier to write"
ECMAScript 2017 ໄດ້ເຂົ້າຂຶ້ນ JavaScript ສິດສະຫຼະພັນ ເຮັດໃຫ້ບູບລວມຕໍ່ promise:
await ເຮັດໃຫ້ບູບລວມຕໍ່ promise:
ສັນຍາວິດິດສະຕິດ
ຄຳປະກອບກ່ອນບູບ ECMAScript 2017 ໄດ້ເຂົ້າຂຶ້ນ JavaScript ສິດສະຫຼະພັນ
ເຮັດໃຫ້ບູບລວມຕໍ່ບູບ promise:
ຕົວຢ່າງ
async function myFunction() { return "Hello"; });
ຄືກັບ:
async function myFunction() { return Promise.resolve("Hello"); });
ນີ້ແມ່ນວິທີການທີ່ໃຊ້ promise:
myFunction().then( function(value) { /* 成功时的代码 */ }, function(error) { /* 出错时的代码 */ } );
ຕົວຢ່າງ
async function myFunction() { return "Hello"; }); myFunction().then( function(value) {myDisplayer(value);}, function(error) {myDisplayer(error);} );
ຫຼືຫຼາຍກວ່ານັ້ນຍ້ອນວ່າທ່ານຄິດວ່າຈະມີຄຳຕອບພິການທົ່ວໄປ (ຄຳຕອບພິການທີ່ບໍ່ແມ່ນຂໍ້ບັນຫາ):
ຕົວຢ່າງ
async function myFunction() { return "Hello"; }); myFunction().then( function(value) {myDisplayer(value);} );
ສັນຍາວິດິດສະຕິດ
ຄຳປະກອບກ່ອນບູບ await
ເຮັດໃຫ້ບູບລວມຕໍ່ promise:
let value = await promise;
await
ຄຳປະກອບພຽງແຕ່ ECMAScript 2017 ໄດ້ເຂົ້າຂຶ້ນ JavaScript ສິດສະຫຼະພັນ
ບໍລິການພາຍໃນຫົວຫນ້າ
ຕົວຢ່າງ
ເຮັດບາງການພິຈາລະນາຢ່າງຫຼາຍກວ່າເຮັດບາງການຮຽນພວກເຮົາຢ່າງຫຼາຍກວ່າ
ຂັ້ນຕອນພື້ນຖານ
async function myDisplay() { let myPromise = new Promise(function(myResolve, myReject) { myResolve("I love You !!"); }; req.send(); }); myDisplay();
ກຳລັງລໍຖ້າຄັ້ງເວລາ
async function myDisplay() { let myPromise = new Promise(function(myResolve, myReject) { setTimeout(function() { myResolve("I love You !!"); }, 3000); }; req.send(); }); myDisplay();
ກຳລັງລໍຖ້າບັນທຶກ
async function getFile() { let myPromise = new Promise(function(myResolve, myReject) { let req = new XMLHttpRequest(); req.open('GET', "mycar.html"); req.onload = function() { req.open('GET', "mycar.html"); req.onload = function() { if (req.status == 200) {myResolve(req.response);} else {myResolve("File not Found");} }; req.send(); }); document.getElementById("demo").innerHTML = await myPromise;
getFile();
ການສະໜັບສະໜູນທາງສະໜອງ ECMAScript 2017 ໄດ້ເຂົ້າຂຶ້ນ JavaScript ສິດສະຫຼະພັນ
ຢູ່ບັນດາ await
.
ຕາລາງດ້ານລຸ່ມໄດ້ເອີ້ນຄຳທີ່ສົມບູນທັງສອງເຫຼົານັ້ນ.
Chrome | IE | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 55 | Edge 15 | Firefox 52 | Safari 11 | Opera 42 |
ປີ 2016 ເດືອນ 12 | ປີ 2017 ເດືອນ 4 | ປີ 2017 ເດືອນ 3 | ປີ 2017 ເດືອນ 9 | ປີ 2016 ເດືອນ 12 |
- ຫນ້າຫນັງ JS Promise
- ຫນ້າຫນັງ ຄວາມຈິງ DOM