| 123456789101112131415161718192021222324252627282930313233 |
- /**
- * DevExtreme (core/polyfills/promise.js)
- * Version: 19.1.16
- * Build date: Tue Oct 18 2022
- *
- * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED
- * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
- */
- "use strict";
- var deferredUtils = require("../../core/utils/deferred");
- var windowUtils = require("../../core/utils/window");
- var Deferred = deferredUtils.Deferred;
- var when = deferredUtils.when;
- var promise = windowUtils.hasWindow() ? windowUtils.getWindow().Promise : Promise;
- if (!promise) {
- promise = function(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;
|