ES生成器函数使用实例

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

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

        function getOrders() {
            setTimeout(() => {
                let data = "订单数据";
                iterator.next(data);
            }, 1000)
        }

        function getGoods() {
            setTimeout(() => {
                let data = "商品数据";
                iterator.next(data);
            }, 1000)
        }

        function* gen() {
                let users = yield getUsers();
                console.log("users: ", users);
                let orders = yield getOrders();
                console.log("orders: ", orders);
                let goods = yield getGoods();
                console.log("goods: ", goods);
            }
            // users: 用户数据
            // orders: 订单数据
            // goods: 商品数据

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

</html>
posted @ 2022-10-19 21:29  Felix_Openmind  阅读(61)  评论(0)    收藏  举报
*{cursor: url(https://files-cdn.cnblogs.com/files/morango/fish-cursor.ico),auto;}