⊗jsSpPrmSta 166 of 294 menu

สถานะของพรอมิสใน JavaScript

พรอมิสสามารถอยู่ในหนึ่งในสามสถานะ เมื่อสร้างขึ้นพรอมิสจะอยู่ในสถานะรอ (pending) จากนั้นอาจเปลี่ยนเป็นสถานะสำเร็จ (fulfilled) โดยส่งคืนผลลัพธ์ที่ได้รับ หรือสถานะถูกปฏิเสธ (rejected) โดยส่งคืน สาเหตุของความล้มเหลว คุณสามารถดูการเปลี่ยนผ่าน จากหนึ่งสถานะไปอีกสถานะได้โดยเรียกใช้โค้ดต่อไปนี้:

let promise = new Promise(function(resolve, reject) { setTimeout(function() { let isError = false; // ตั้งค่าเป็น true หรือ false if (!isError) { resolve([1, 2, 3, 4, 5]); } else { reject('error in promise'); } }, 3000); }); setInterval(function() { console.log(promise); // แสดงพรอมิสในคอนโซลทุกวินาที }, 1000);

โปรดทราบว่าสถานะ fulfilled และ rejected ไม่สามารถเปลี่ยนแปลงได้: หากพรอมิสเปลี่ยน เป็นหนึ่งในสถานะเหล่านี้ มันจะไม่สามารถ เปลี่ยนเป็นสถานะอื่นได้อีก มาดูตัวอย่างกัน ในโค้ดต่อไปนี้การเรียก reject จะเกิดขึ้น ก่อน ดังนั้นการเรียก resolve จะถูก เพิกเฉย:

let promise = new Promise(function(resolve, reject) { setTimeout(() => reject(new Error('error')), 1000); setTimeout(() => resolve('ignored'), 2000); });

สร้างพรอมิสที่ดำเนินการสำเร็จ หลังจากเวลาผ่านไปสักครู่ แสดงมันในคอนโซล และศึกษาสถานะเริ่มต้นและสถานะที่เสร็จสิ้น

สร้างพรอมิสที่ดำเนินการล้มเหลว หลังจากเวลาผ่านไปสักครู่ แสดงมันในคอนโซล และศึกษาสถานะเริ่มต้นและสถานะที่เสร็จสิ้น

ไทย
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣTürkmenTürkçeЎзбекOʻzbekTiếng Việt
เราใช้คุกกี้สำหรับการทำงานของเว็บไซต์ การวิเคราะห์ และการปรับเนื้อหาให้เหมาะสมส่วนบุคคล การประมวลผลข้อมูลเกิดขึ้นตาม นโยบายความเป็นส่วนตัว.
ยอมรับทั้งหมด ปรับแต่ง ปฏิเสธ