tip:本文仅是本人是学习过程中记录的文章,水平非常有限,内容可能存在许多错误,还请大家指正
// 依次获取用户信息,订单信息,商品信息
function getUser() {
// 使用定时器模拟异步任务
let timer = setTimeout(() => {
let data = "用户信息";
clearTimeout(timer);
// next里的内容会被yield接收到
ite.next(data);
}, 1000);
}
function getOrder() {
let timer = setTimeout(() => {
let data = "订单信息";
clearTimeout(timer);
ite.next(data);
}, 1000);
}
function getProduct() {
let timer = setTimeout(() => {
let data = "商品信息";
clearTimeout(timer);
ite.next(data);
}, 1000);
}
function* ge() {
let users = yield getUser();
// 输出users
console.log(users);
let orders = yield getOrder();
console.log(orders);
let products = yield getProduct();
console.log(products);
}
const ite = ge();
// 启动
ite.next();
// 执行结果:
// 一秒后输出: 用户信息
// 一秒后输出: 订单信息
// 一秒后输出: 商品信息