美文网首页
实现async/await

实现async/await

作者: 织雪纱奈 | 来源:发表于2019-04-18 11:23 被阅读0次
    function yieldPromise(generator){
        var iterator=generator();
        recursiveCore.call(iterator);
    }
    
    function recursiveCore(feedback){
        var iterator=this,
            result=iterator.next(feedback);
    
        if(result.done){
            return;
        }
    
        var promise=result.value;
        Promise.resolve(promise).then(function(v){
            recursiveCore.call(iterator,v);
        });
    }
    
    
    yieldPromise(function*(){
        var v1=yield new Promise(function(resolve,reject){
            setTimeout(function(){
                resolve('Hello');
            },1500);
        });
    
        console.warn(v1);
    
        var v2=yield new Promise(function(resolve,reject){
            setTimeout(function(){
                resolve('World');
            },1500);
        });
    
        console.warn(v2);
    });
    
    
    

    相关文章

      网友评论

          本文标题:实现async/await

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