1 | import _Promise from "../../core-js/promise";
|
2 | export default function _asyncToGenerator(fn) {
|
3 | return function () {
|
4 | var self = this,
|
5 | args = arguments;
|
6 | return new _Promise(function (resolve, reject) {
|
7 | var gen = fn.apply(self, args);
|
8 |
|
9 | function step(key, arg) {
|
10 | try {
|
11 | var info = gen[key](arg);
|
12 | var value = info.value;
|
13 | } catch (error) {
|
14 | reject(error);
|
15 | return;
|
16 | }
|
17 |
|
18 | if (info.done) {
|
19 | resolve(value);
|
20 | } else {
|
21 | _Promise.resolve(value).then(_next, _throw);
|
22 | }
|
23 | }
|
24 |
|
25 | function _next(value) {
|
26 | step("next", value);
|
27 | }
|
28 |
|
29 | function _throw(err) {
|
30 | step("throw", err);
|
31 | }
|
32 |
|
33 | _next();
|
34 | });
|
35 | };
|
36 | } |
\ | No newline at end of file |