17Generator函數(shù)的異步應(yīng)用

傳統(tǒng)異步

  1. 回調(diào)函數(shù)
  2. 響應(yīng)事件
  3. 發(fā)布/訂閱
  4. Promise

Generator 異步案例

適用場景,執(zhí)行a任務(wù),暫停a任務(wù),執(zhí)行b任務(wù),執(zhí)行完畢之后繼續(xù)執(zhí)行a任務(wù)

function fetchData(url) {
  let data = yield fetch(url)
  // 對數(shù)據(jù)進(jìn)行操作
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)
})

知識點補(bǔ)充

fetch知識點

  1. fetch 將返回一個promise對象
  2. 只要網(wǎng)絡(luò)不出錯,就會成功
  3. response會作為響應(yīng)成功的參數(shù),和data是不同的
  4. 使用response.json()取出body中的數(shù)據(jù),body的類型多種多樣,所以取數(shù)據(jù)也有很多的方式
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,537評論 19 139
  • title標(biāo)題: A Web Crawler With asyncio Coroutinesauthor作者: A...
    彰樂樂樂樂閱讀 2,205評論 0 8
  • 官方中文版原文鏈接 感謝社區(qū)中各位的大力支持,譯者再次奉上一點點福利:阿里云產(chǎn)品券,享受所有官網(wǎng)優(yōu)惠,并抽取幸運大...
    HetfieldJoe閱讀 6,453評論 9 19
  • 弄懂js異步 講異步之前,我們必須掌握一個基礎(chǔ)知識-event-loop。 我們知道JavaScript的一大特點...
    DCbryant閱讀 2,876評論 0 5
  • 異步編程對JavaScript語言太重要。Javascript語言的執(zhí)行環(huán)境是“單線程”的,如果沒有異步編程,根本...
    呼呼哥閱讀 7,400評論 5 22

友情鏈接更多精彩內(nèi)容