vaakian / vaakian.github.io

some notes
https://vaakian.github.io
3 stars 0 forks source link

Generator #25

Open vaakian opened 2 years ago

vaakian commented 2 years ago

待完成 协程相关, next接收一个参数,作为上个阶段异步任务的返回结果。

function* gen(x){
  // 在此处暂停
  let y = yield x + 2;
 return y;
}

function* gen(){
  let url = 'https://api.github.com/users/vaakian';
  // 在此处暂停
  let result = yield fetch(url);
  return result;
}
const g = gen();
// 执行next后才会请求,且不会阻塞后面的ABC输出
g.next();
console.log('ABC');
// next参数作为上一个阶段的异步任务返回值
// 也就是让yield x+2 返回 5
g.next(5);