คุณกำลังดิ้นรนเพื่อเรียนรู้แนวคิดของคำสัญญา JavaScript หรือไม่? บทความนี้จะอธิบายวิธีการสร้างสัญญาทำไมเราถึงใช้สัญญาใน JavaScript และอีกมากมาย

What is Promise in JavaScript?

ภาพรวม

เราหวังว่าคุณจะมีความเข้าใจที่ดีขึ้นเกี่ยวกับ ประเภทข้อมูล JavaScript ตอนนี้นี่เป็นบล็อกโพสต์อื่นในหมวดหมู่ การเขียนโปรแกรม ในการสอน JavaScript นี้เราจะผ่าน สิ่งที่สัญญาใน JavaScript และพร้อมกับสิ่งนั้นเราจะเห็นว่าการดำเนินงานแบบอะซิงโครนัสคืออะไรการใช้สัญญาและวิธีการสร้างสัญญาใน JavaScript ขั้นแรกกระบวนการ/การดำเนินงานแบบอะซิงโครนัสเป็นกระบวนการที่ดำเนินการอย่างอิสระเกี่ยวกับกระบวนการอื่น ๆ และไม่ได้สร้างการอุดตันใด ๆ ดังนั้นคุณต้องจัดการการดำเนินการแบบอะซิงโครนัสมิฉะนั้นอาจสร้างความผิดปกติในรหัส JavaScript ของคุณ ดังนั้นเราจะสำรวจว่าเราจะจัดการกับการดำเนินงานแบบอะซิงโครนัสได้อย่างไรโดยใช้สัญญา เราจะครอบคลุมประเด็นต่อไปนี้ในการสอน JavaScript นี้:

คำสัญญาใน JavaScript คืออะไร? คำสัญญาที่อธิบาย

คำสัญญาเป็นวัตถุที่แสดงถึงคุณค่าของสภาพอากาศในการดำเนินการแบบ async ที่ได้รับการแก้ไขปฏิเสธหรืออยู่ในสถานะรอดำเนินการ ในคำง่าย ๆ เพิ่มเติมสัญญาที่ใช้ในการคืนค่าที่ยังไม่ได้ผลิตโดยบล็อกแบบอะซิงโครนัส ในความเป็นจริงมีสามสถานะของสัญญา**และสามารถอยู่ในรัฐใด ๆ ต่อไปนี้: รอดำเนินการ : สัญญาอยู่ในสถานะที่รอดำเนินการซึ่งหมายความว่าอยู่ในช่วงเริ่มต้นและกำลังดำเนินการอยู่ในขณะนี้ เติมเต็ม : สัญญาได้รับการแก้ไขและมีการส่งคืนค่าแล้ว ปฏิเสธ : นี่คือสถานะที่เกิดจากข้อผิดพลาดใด ๆ ซึ่งหมายความว่าสัญญาได้ถูกปฏิเสธ สิ่งสำคัญที่ต้องพิจารณาที่นี่คือคุณค่า/สถานะที่ส่งคืนโดยสัญญานั้นไม่เปลี่ยนแปลงและไม่สามารถเปลี่ยนแปลงได้ซึ่งหมายถึงสัญญาตรวจสอบให้แน่ใจว่าไม่มีพฤติกรรมที่ผิดปกติ

ทำไมเราถึงใช้คำสัญญาใน JavaScript?

หากคุณไม่ทราบว่า การโทรกลับนรกให้ฉันแบ่งปันว่ามันคืออะไร ก่อนอื่นการเรียกกลับเป็นฟังก์ชั่นภายในฟังก์ชั่นอื่น โดยทั่วไปฟังก์ชั่นการโทรกลับจะถูกส่งผ่านเป็นอาร์กิวเมนต์ที่สองในฟังก์ชั่นที่ดำเนินการเมื่อได้รับผลลัพธ์ ดังนั้นในหลาย ๆ สถานการณ์คุณต้องทำฟังก์ชั่นการโทรกลับและเมื่อการทำรังเพิ่มขึ้นมันก็ใกล้จะเป็นไปไม่ได้ที่จะจัดการ ดังนั้นเราจึงเรียกฟังก์ชั่นการโทรกลับมานานนรกโทรกลับ ดังนั้นสัญญาเป็นวิธีที่จะหลีกเลี่ยงสถานการณ์นรกที่โทรกลับ การใช้สัญญาให้ความสามารถในการอ่านที่ดีขึ้นและการจัดการข้อผิดพลาดที่ดีขึ้น นอกจากนี้คุณสามารถจัดการการดำเนินการแบบอะซิงโครนัสได้ดีขึ้นโดยการดึงค่าที่ส่งคืนและส่งผ่านค่านั้นไปยังฟังก์ชั่นถัดไปในห่วงโซ่

สัญญาทำงานอย่างไรใน JavaScript?

ตอนนี้ให้เข้าใจกลไกการทำงานที่อยู่เบื้องหลังสัญญา โปรดดูแผนภาพที่กล่าวถึงด้านล่าง

สัญญาทำงานอย่างไรใน JavaScript??

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

จะสร้างสัญญาได้อย่างไร?

จนถึงตอนนี้เราได้ครอบคลุมแนวคิดพื้นฐานของคำสัญญา ตอนนี้เราจะสำรวจว่าเราจะสร้างสัญญาใน JavaScript ได้อย่างไร มาใช้ตัวสร้างสัญญาต่อไปนี้เพื่อสร้างสัญญา

let promise = new Promise(function(resolve, reject) {
  // do some processing.. 
});

Promise Constructor ใช้ฟังก์ชั่นเป็นอาร์กิวเมนต์ที่ใช้ข้อโต้แย้งสองข้อก่อนอีกครั้งแก้ไขและการปฏิเสธอื่น ๆ มันเรียกใช้วิธีการแก้ไข () ในกรณีที่ประสบความสำเร็จและจะเข้าสู่บล็อก DENT () ในกรณีที่เกิดข้อผิดพลาดหรือการปฏิเสธ ไปกันนิดหน่อยแล้วสำรวจการสร้างสัญญาอีกเล็กน้อย

let data = "";

let dataValue = new Promise(function (resolve, reject) {
    if (data) {
        resolve("There is some data.");
    } else {
        reject("There is no data");
    }
});

console.log(dataValue);

ในรหัสตัวอย่างด้านบนคุณสามารถทำการโทร API ในบล็อก Resolve () เพิ่มเติมได้ ตอนนี้เรามาดูรูปแบบการดำเนินการของคำสัญญา JavaScript

let promiseExecution = new Promise((res, rej) => {
  console.log('synchronous execution');
  if (true) {
    res('Success');
  } else {
    rej('Error');
  }
})

promiseExecution.then((data) => {
  console.log('It is executing asynchronously: ' + data);
}).catch((err) => {
  console.log('It is executing asynchronously: ' + err);
}).finally(() => {
  console.log('promise is completed');
});

console.log('Hello Word');

ต่อไปนี้เป็นผลลัพธ์ของตัวอย่างโค้ดด้านบน:

synchronous execution
Hello Word
It is executing asynchronously: Success
promise is completed

ดังนั้นรหัสภายใน The Promise Body Works แบบซิงโครนัสดังนั้นจึงพิมพ์ “การดำเนินการแบบซิงโครนัส” ถัดไป. แล้วบล็อก () บล็อกทำงานแบบอะซิงโครนัสและรอจนกว่าผลลัพธ์จะถูกสร้างขึ้น แต่การดำเนินการโปรแกรมไม่หยุดนั่นคือเหตุผลที่ “Hello Word” ถูกพิมพ์และการดำเนินการตามสัญญาได้ถูกเลื่อนออกไป หลังจากนั้น. แล้วบล็อก () บล็อกจะดำเนินการและส่งคืนค่าที่สัญญาไว้ นั่นคือเรื่องราวของคำสัญญา JavaScript อีกครั้งเนื่องจาก JavaScript เป็นเกลียวเดี่ยวสัญญาจะใช้ในการจัดการการดำเนินงานแบบอะซิงโครนัสในลักษณะที่ไม่ปิดกั้น

บทสรุป

นี่คือจุดสิ้นสุดของการสอน JavaScript นี้หวังว่าคุณจะมีความคิดที่ดีเกี่ยวกับสัญญา JavaScript เราได้กล่าวถึง สิ่งที่สัญญาใน JavaScript ทำไมเราใช้สัญญาใน JavaScriptวิธีการทำงานใน JavaScript และวิธีการสร้างสัญญา นอกจากนี้เราจะครอบคลุมหัวข้อนี้เพิ่มเติมเกี่ยวกับการใช้งานและบทบัญญัติขั้นสูง ดังนั้นผ่านบทความนี้ในกรณีที่คุณกำลังเตรียมตัวสำหรับการสัมภาษณ์

เชื่อมต่อกับเรา

ในที่สุด containerize.com ข้อเสนอการสอน JavaScript อย่างต่อเนื่องในหัวข้อที่น่าตื่นเต้นต่างๆ คุณสามารถอยู่ในวงได้โดยติดตามเราบนแพลตฟอร์มโซเชียลมีเดียของเรารวมถึง Facebook, LinkedIn และ Twitter

ถามคำถาม

คุณสามารถแจ้งให้เราทราบเกี่ยวกับคำถามหรือคำถามของคุณเกี่ยวกับ [ฟอรัม] ของเรา 11

คำถามที่พบบ่อย

คำสัญญาใน JavaScript มีอะไรบ้าง โปรดติดตาม ลิงก์ เพื่อทราบว่าสัญญาอะไรใน JavaScript

ดูสิ่งนี้ด้วย