Projekt

Obecné

Profil

Stáhnout (787 Bajtů) Statistiky
| Větev: | Revize:
1
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
2
  try {
3
    var info = gen[key](arg);
4
    var value = info.value;
5
  } catch (error) {
6
    reject(error);
7
    return;
8
  }
9

    
10
  if (info.done) {
11
    resolve(value);
12
  } else {
13
    Promise.resolve(value).then(_next, _throw);
14
  }
15
}
16

    
17
export default function _asyncToGenerator(fn) {
18
  return function () {
19
    var self = this,
20
        args = arguments;
21
    return new Promise(function (resolve, reject) {
22
      var gen = fn.apply(self, args);
23

    
24
      function _next(value) {
25
        asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
26
      }
27

    
28
      function _throw(err) {
29
        asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
30
      }
31

    
32
      _next(undefined);
33
    });
34
  };
35
}
(10-10/80)