在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/網(wǎng)絡(luò)安全  HTML/ 如何使用Generator實現(xiàn)一個鏈性依賴函數(shù)?

如何使用Generator實現(xiàn)一個鏈性依賴函數(shù)?

如何使用generator實現(xiàn)以下功能?

    function f1(){
        return new Promise((resolve,reject) =>{
            setTimeout(() =>{
                resolve(1);
            },1000)
        })
    }
    
    function f2(value){
        return new Promise((resolve,reject) =>{
            setTimeout(() =>{
                resolve(value + 2);
            },1000)
        })
    }
    
    function f3(value){
        return new Promise((resolve,reject) =>{
            setTimeout((value) =>{
                resolve(value + 3);
            },1000)
        })
    }
    
    const foo = async () =>{
        let result_1 = await f1();
        let result_2 = await f2(result_1);
        let result_3 = await f3(result_2);
        return result_3;
    }
    
    foo();

謝謝各位回答!

回答
編輯回答
哚蕾咪
function f1(){
        return new Promise((resolve,reject) =>{
            setTimeout(() =>{
                resolve(1);
            },1000)
        })
    }

    function f2(value){
        return new Promise((resolve,reject) =>{
            setTimeout(() =>{
                resolve(value + 2);
            },1000)
        })
    }

    function f3(value){
        return new Promise((resolve,reject) =>{
            setTimeout(() =>{
                resolve(value + 3);
            },1000)
        })
    }

    function* test() {
        var result=yield f1();
        result=yield f2(result);
        yield f3(result);
    }
    function co(fun){
        var t=fun();
        var result=null;
        var _r;
        var p=new Promise(function(resole){
            _r=resole;
        });
        function next(data){
            var d=t.next(data);
            result=data;
            if(d.value){
                d.value.then(function(data){
                    next(data);
                })
            }else{
                _r(result);
            }
        }
        next();
        return p;
    }
    co(test).then(console.log);

不是co嗎

2017年11月5日 09:37