นี่คือ polyfill ของ ES6 Promise การใช้งานเป็นส่วนย่อยของ rsvp.js ที่แตกออกมาโดย @jakarchhibald หากคุณต้องการคุณสมบัติพิเศษและตัวเลือกการแก้ไขจุดบกพร่องเพิ่มเติม โปรดดูไลบรารีทั้งหมด
สำหรับรายละเอียด API และวิธีใช้สัญญา โปรดดูบทความ JavaScript Promises HTML5Rocks
es6-promise 27.86 KB (7.33 KB gzipped)
es6-promise-auto 27.78 KB (7.3 KB gzipped) - จัดเตรียม/แทนที่ Promise
โดยอัตโนมัติหากสูญหายหรือใช้งานไม่ได้
es6-promise-min 6.17 KB (2.4 KB gzipped)
es6-promise-auto-min 6.19 KB (2.4 KB gzipped) - es6-promise-auto
เวอร์ชันย่อด้านบน
หากต้องการใช้ผ่าน CDN ให้รวมสิ่งนี้ไว้ใน html ของคุณ:
<!-- ให้/แทนที่ `Promise` โดยอัตโนมัติหากสูญหายหรือใช้งานไม่ได้ --><script src="https://cdn.jsdelivr.net/npm/es6-promise@4/dist/es6-promise.js"></script><script src="https://cdn. jsdelivr.net/npm/es6-promise@4/dist/es6-promise.auto.js"></script> <!-- เวอร์ชันย่อของ `es6-promise-auto` ด้านล่าง --><script src="https://cdn.jsdelivr.net/npm/es6-promise@4/dist/es6-promise.min.js"></script><script src="https:// cdn.jsdelivr.net/npm/es6-promise@4/dist/es6-promise.auto.min.js"></script>
ในการติดตั้ง:
เส้นด้ายเพิ่ม es6-promise
หรือ
npm ติดตั้ง es6-promise
วิธีใช้:
var Promise = ต้องการ ('es6-promise'). สัญญา;
catch
และ finally
ก็เป็นคีย์เวิร์ดที่สงวนไว้ใน IE<9 ซึ่งหมายถึง promise.catch(func)
หรือ promise.finally(func)
ทำให้เกิดข้อผิดพลาดทางไวยากรณ์ เมื่อต้องการแก้ไขปัญหานี้ คุณสามารถใช้สตริงเพื่อเข้าถึงคุณสมบัติดังที่แสดงในตัวอย่างต่อไปนี้
อย่างไรก็ตาม ตัวย่อส่วนใหญ่จะแก้ไขปัญหานี้ให้คุณโดยอัตโนมัติ ทำให้โค้ดที่ได้นั้นปลอดภัยสำหรับเบราว์เซอร์และเวอร์ชันที่ใช้งานจริง:
สัญญา ['จับ'] (ฟังก์ชั่น (ผิดพลาด) { -
สัญญา ['ในที่สุด'] (ฟังก์ชั่น () { -
หากต้องการเติมสภาพแวดล้อมโกลบอล (ในโหนดหรือในเบราว์เซอร์ผ่าน CommonJS) ให้ใช้ข้อมูลโค้ดต่อไปนี้:
ต้องการ('es6-สัญญา').polyfill();
อีกทางหนึ่ง
ต้องการ ('es6-promise / auto');
โปรดสังเกตว่าเราไม่ได้กำหนดผลลัพธ์ของ polyfill()
ให้กับตัวแปรใดๆ เมธอด polyfill()
จะแก้ไขสภาพแวดล้อมโกลบอล (ในกรณีนี้คือชื่อ Promise
) เมื่อถูกเรียก
คุณจะต้องติดตั้ง PhantomJS ทั่วโลกเพื่อดำเนินการทดสอบ
npm install -g phantomjs
npm run build
เพื่อสร้าง
npm test
เพื่อทำการทดสอบ
npm start
รัน build watcher และเว็บเซิร์ฟเวอร์เพื่อทดสอบ
npm run test:server
สำหรับนักวิ่งทดสอบ testem และตัวสร้างการดู