UNPKG

esnext-async

Version:

Patterns for asynchronous computation in ES.next

73 lines (58 loc) 2.11 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.sleep = exports.parallel = undefined; var _regenerator = require("babel-runtime/regenerator"); var _regenerator2 = _interopRequireDefault(_regenerator); var _promise = require("babel-runtime/core-js/promise"); var _promise2 = _interopRequireDefault(_promise); var _asyncToGenerator2 = require("babel-runtime/helpers/asyncToGenerator"); var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2); var parallel = exports.parallel = function () { var _ref = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function _callee() { for (var _len = arguments.length, fns = Array(_len), _key = 0; _key < _len; _key++) { fns[_key] = arguments[_key]; } return _regenerator2.default.wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: _context.next = 2; return _promise2.default.all(fns.map(function (fn) { return fn(); })); case 2: case "end": return _context.stop(); } } }, _callee, this); })); return function parallel(_x) { return _ref.apply(this, arguments); }; }(); var sleep = exports.sleep = function () { var _ref2 = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function _callee2() { var ms = arguments.length <= 0 || arguments[0] === undefined ? 0 : arguments[0]; return _regenerator2.default.wrap(function _callee2$(_context2) { while (1) { switch (_context2.prev = _context2.next) { case 0: _context2.next = 2; return new _promise2.default(function (resolve) { setTimeout(resolve, ms); }); case 2: case "end": return _context2.stop(); } } }, _callee2, this); })); return function sleep(_x2) { return _ref2.apply(this, arguments); }; }(); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }