17Generator函数的异步应用

2017-11-07  本文已影响0人  我_巨可爱

传统异步

  1. 回调函数
  2. 响应事件
  3. 发布/订阅
  4. Promise

Generator 异步案例

适用场景,执行a任务,暂停a任务,执行b任务,执行完毕之后继续执行a任务

function fetchData(url) {
  let data = yield fetch(url)
  // 对数据进行操作
console.log(data)
}
let f = fetchData("http://www.nini.com")
let resultIterator = f.next()
resultIterator.value.then(function (response) {
  return response.json()
}).then(function (data) {
  f.next(data)
})

知识点补充

fetch知识点

  1. fetch 将返回一个promise对象
  2. 只要网络不出错,就会成功
  3. response会作为响应成功的参数,和data是不同的
  4. 使用response.json()取出body中的数据,body的类型多种多样,所以取数据也有很多的方式
上一篇 下一篇

猜你喜欢

热点阅读