UNPKG

devextreme

Version:

HTML5 JavaScript Component Suite for Responsive Web Development

35 lines (27 loc) 976 B
"use strict"; /* global Promise */ var deferredUtils = require("../../core/utils/deferred"), windowUtils = require("../../core/utils/window"), Deferred = deferredUtils.Deferred, when = deferredUtils.when, promise = windowUtils.hasWindow() ? windowUtils.getWindow().Promise : Promise; if (!promise) { // NOTE: This is an incomplete Promise polyfill but it is enough for creation purposes promise = function promise(resolver) { var d = new Deferred(); resolver(d.resolve.bind(this), d.reject.bind(this)); return d.promise(); }; promise.resolve = function (val) { return new Deferred().resolve(val).promise(); }; promise.reject = function (val) { return new Deferred().reject(val).promise(); }; promise.all = function (promises) { return when.apply(this, promises).then(function () { return [].slice.call(arguments); }); }; } module.exports = promise;