ES6生成器函数2

 //模拟获取用户数据 订单数据和商品数据
        function getUsers() {
            setTimeout(() => {
                let data = "用户数据";
                //调用nexxt方法,并且将数据传入
                iterator.next(data);
            }, 1000);
        }

        function getOrders(params) {
            setTimeout(() => {
                let data = "订单数据";
                //调用nexxt方法,并且将数据传入
                iterator.next(data);
            }, 1000);
        }

        function getGoods(params) {
            setTimeout(() => {
                let data = "商品数据";
                //调用nexxt方法,并且将数据传入
                iterator.next(data);
            }, 1000);
        }
        //由于以上三种数据在现实中存在关联度,所以需要按顺序进行调用,按照直接列出函数调用在实际中是获取不到数据的

        function* gen() {
            let users = yield getUsers();
            console.log(users);
            let orders = yield getOrders();
            console.log(orders);
            let goods = yield getGoods();
            console.log(goods);

        }

        //调用生成器函数
        let iterator = gen();
        iterator.next();

 

posted @ 2022-10-24 10:52  小白字太白  阅读(15)  评论(0)    收藏  举报