هذه عبارة عن حشوة متعددة لوعد ES6. التنفيذ عبارة عن مجموعة فرعية من rsvp.js المستخرج بواسطة @jakearchibald، إذا كنت تريد ميزات إضافية والمزيد من خيارات التصحيح، فاطلع على المكتبة الكاملة.
للحصول على تفاصيل واجهة برمجة التطبيقات وكيفية استخدام الوعود، راجع مقالة JavaScript Promises HTML5Rocks.
es6-promise 27.86 كيلو بايت (7.33 كيلو بايت مضغوط)
es6-promise-auto 27.78 كيلو بايت (7.3 كيلو بايت مضغوط) - يوفر/يستبدل Promise
تلقائيًا في حالة فقدانه أو كسره.
es6-promise-min 6.17 كيلو بايت (2.4 كيلو بايت مضغوط)
es6-promise-auto-min 6.19 كيلو بايت (2.4 كيلو بايت مضغوط) - نسخة مصغرة من 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-الوعد
للاستخدام:
var Promise = require('es6-promise').Promise;
catch
و finally
هي كلمات رئيسية محجوزة في IE<9، مما يعني أن promise.catch(func)
أو promise.finally(func)
يلقيان خطأ في بناء الجملة. للتغلب على هذه المشكلة، يمكنك استخدام سلسلة للوصول إلى الخاصية كما هو موضح في المثال التالي.
ومع ذلك، فإن معظم أدوات التصغير ستصلح هذه المشكلة تلقائيًا، مما يجعل الكود الناتج آمنًا للمتصفحات القديمة والإنتاج:
وعد['catch'](وظيفة(يخطئ) { // ...});
وعد['أخيرًا'](وظيفة() { // ...});
لملء البيئة العامة (إما في Node أو في المتصفح عبر CommonJS)، استخدم مقتطف التعليمات البرمجية التالي:
require('es6-promise').polyfill();
بدلاً عن ذلك
تتطلب ("es6-promise/auto")؛
لاحظ أننا لا نخصص نتيجة polyfill()
لأي متغير. سوف تقوم طريقة polyfill()
بتصحيح البيئة العامة (في هذه الحالة لاسم Promise
) عند استدعائها.
ستحتاج إلى تثبيت PhantomJS عالميًا حتى تتمكن من إجراء الاختبارات.
npm install -g phantomjs
npm run build
للبناء
npm test
لتشغيل الاختبارات
npm start
في تشغيل مراقب البناء واختبار خادم الويب
npm run test:server
لمشغل اختبار testem ومنشئ المشاهدة