mirror of
https://github.com/swc-project/swc.git
synced 2024-12-18 19:21:33 +03:00
a518c83485
swc_ecma_transforms_compat: - `block_scoping`: Ensure that #1462 is fixed. (#1462) - `regenerator`: Inject variables at proper level. (#1718) swc_ecam_transforms_typescript: - `strip`: Handle class expressions in arrow expressions correctly. (#1729)
65 lines
1.6 KiB
TypeScript
65 lines
1.6 KiB
TypeScript
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
|
|
try {
|
|
var info = gen[key](arg);
|
|
var value = info.value;
|
|
} catch (error) {
|
|
reject(error);
|
|
return;
|
|
}
|
|
if (info.done) {
|
|
resolve(value);
|
|
} else {
|
|
Promise.resolve(value).then(_next, _throw);
|
|
}
|
|
}
|
|
function _asyncToGenerator(fn) {
|
|
return function() {
|
|
var self = this, args = arguments;
|
|
return new Promise(function(resolve, reject) {
|
|
var gen = fn.apply(self, args);
|
|
function _next(value) {
|
|
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
|
|
}
|
|
function _throw(err) {
|
|
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
|
|
}
|
|
_next(undefined);
|
|
});
|
|
};
|
|
}
|
|
function _scanUser() {
|
|
_scanUser = _asyncToGenerator(function*(groups) {
|
|
yield Promise.all(groups.map(_asyncToGenerator(function*({ users }) {
|
|
for (const user of users){
|
|
console.log('user', user);
|
|
yield new Promise((resolve)=>setTimeout(resolve, 30)
|
|
);
|
|
}
|
|
})));
|
|
});
|
|
return _scanUser.apply(this, arguments);
|
|
}
|
|
function scanUser(groups) {
|
|
return _scanUser.apply(this, arguments);
|
|
}
|
|
scanUser([
|
|
{
|
|
users: [
|
|
1,
|
|
2,
|
|
3,
|
|
4,
|
|
5
|
|
]
|
|
},
|
|
{
|
|
users: [
|
|
11,
|
|
12,
|
|
13,
|
|
14,
|
|
15
|
|
]
|
|
},
|
|
]);
|