原文連接
做者 十年蹤影git
JavaScript 經過XMLHttpRequest(XHR)來執行異步請求,這個方式已經存在了很長一段時間。雖然說它頗有用,但它不是最佳API。它在設計上不符合職責分離原則,將輸入、輸出和用事件來跟蹤的狀態混雜在一個對象裏。並且,基於事件的模型與最近JavaScript流行的Promise以及基於生成器的異步編程模型不太搭(事件模型在處理異步上有點過期了——譯者注)。github
新的 Fetch API打算修正上面提到的那些缺陷。 它向JS中引入和HTTP協議中一樣的原語(即Fetch——譯者注)。具體而言,它引入一個實用的函數fetch()用來簡潔捕捉從網絡上檢索一個資源的意圖。編程
Fetch 規範的API明確了用戶代理獲取資源的語義。它結合ServiceWorkers,嘗試達到如下優化:瀏覽器
改善離線體驗網絡
保持可擴展性異步
到寫這篇文章的時候,Fetch API被Firefox 39(Nightly版)以及Chrome 42(開發版)支持。在github上,有基於低版本瀏覽器的兼容實現異步編程