async

作者: 原型设计 | 来源:发表于2019-11-08 17:52 被阅读0次
    let async1 = (() => {
        var ref = _asyncToGenerator(function* () {
            console.log('async1 start');
            yield async2();
            console.log('async1 end');
        });
    
        return function async1() {
            return ref.apply(this, arguments);
        };
    })();
    
    let async2 = (() => {
        var ref = _asyncToGenerator(function* () {
            console.log('async2');
        });
    
        return function async2() {
            return ref.apply(this, arguments);
        };
    })();
    
    function _asyncToGenerator(fn) {
        return function () {
            var gen = fn.apply(this, arguments);
            return new Promise(function (resolve, reject) {
                function step(key, arg) {
                    try {
                        var info = gen[key](arg);
                        var value = info.value;
                    } catch (error) {
                        reject(error); return;
                    }
    
                    if (info.done) {
                        resolve(value);
                    } else {
                        return Promise.resolve(value).then(
                            function (value) {
                                return step("next", value);
                            },
                            function (err) {
                                return step("throw", err);
                            });
                    }
                }
                return step("next");
            });
        };
    }
    
    console.log('script start');
    async1();
    console.log('script end');
    

    相关文章

      网友评论

          本文标题:async

          本文链接:https://www.haomeiwen.com/subject/itywbctx.html