promise-useful-utils
Version:
useful functions for working with promises
48 lines (39 loc) • 892 B
JavaScript
;
var _Promise = require('babel-runtime/core-js/promise')['default'];
Object.defineProperty(exports, '__esModule', {
value: true
});
exports.delay = delay;
exports.timeout = timeout;
var _errors = require('./errors');
/**
* @param {number} ms
* @param {*} value
* @return {Promise.<*>}
*/
function delay(ms, value) {
return _Promise.resolve(value).then(function (result) {
return new _Promise(function (resolve) {
setTimeout(function () {
resolve(result);
}, ms);
});
});
}
var sleep = delay;
exports.sleep = sleep;
/**
* @param {number} ms
* @param {Error} [err]
* @return {Promise}
*/
function timeout(ms, err) {
return new _Promise(function (resolve, reject) {
setTimeout(function () {
if (err === undefined) {
err = new _errors.TimeoutError('timeout error');
}
reject(err);
}, ms);
});
}