123456789101112131415161718192021 |
- "use strict";
- var isValue = require("es5-ext/object/is-value")
- , isPromise = require("es5-ext/object/is-promise")
- , nextTick = require("next-tick")
- , ensureTimeout = require("../valid-timeout");
- module.exports = function (/* timeout */) {
- var Constructor = isPromise(this) ? this.constructor : Promise;
- var timeout = arguments[0];
- if (isValue(timeout)) timeout = ensureTimeout(timeout);
- return new Constructor(function (resolve) {
- if (isValue(timeout)) {
- setTimeout(function () {
- resolve();
- }, timeout);
- } else {
- nextTick(resolve);
- }
- });
- };
|