国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

javascript下使用Promise封裝FileReader_javascript技巧

來源:懂視網 責編:小采 時間:2020-11-27 20:50:58
文檔

javascript下使用Promise封裝FileReader_javascript技巧

javascript下使用Promise封裝FileReader_javascript技巧:Promise 在處理異步的時候是個很好的選擇,可以減少嵌套層次,讓代碼更好讀,邏輯更清晰。ES6 將其加入規范,jQuery 3.0 也修改實現向規范靠攏(3.0 發布公告)。一些新增元素比如 .fetch() 原生就 thenable,不過大多數以往的 API 還要依賴回調,這
推薦度:
導讀javascript下使用Promise封裝FileReader_javascript技巧:Promise 在處理異步的時候是個很好的選擇,可以減少嵌套層次,讓代碼更好讀,邏輯更清晰。ES6 將其加入規范,jQuery 3.0 也修改實現向規范靠攏(3.0 發布公告)。一些新增元素比如 .fetch() 原生就 thenable,不過大多數以往的 API 還要依賴回調,這

Promise 在處理異步的時候是個很好的選擇,可以減少嵌套層次,讓代碼更好讀,邏輯更清晰。ES6 將其加入規范,jQuery 3.0 也修改實現向規范靠攏(3.0 發布公告)。一些新增元素比如 .fetch() 原生就 “thenable”,不過大多數以往的 API 還要依賴回調,這個時候,我們只要將它們重新封裝,就能避開嵌套陷阱,享受 Promise 帶來的愉悅體驗。

Promise 一般用法
先來看下 Promise 的一般用法。

Promise 的驅動模型并不復雜:任何操作,假定它只有兩個結果,成功或者失敗。那么只需要在合適的時間調用合適的程序,進入合適的后續步驟即可。.then() 顧名思義,就是下一步的意思,當前面的 Promise 有了結果——即調用 resolve 或者 reject——之后,就啟動對應的處理函數。

Promise 實例創建后就會開始執行,判定結果需要我們自己來,比如加載成功,或者滿足某個條件,等等。通過串聯 .then() 則可以完成一系列操作。每次調用 .then() 都會創建一個新的 Promise 實例,它會靜靜等待前面的實例狀態改變后再開始執行。

封裝 FileReader
接下來開始封裝。思路很簡單,FileReader 除了提供各種 read 方法,還有幾個事件鉤子,其中 onerror 和 onload 很明顯可以作為判斷任務是否完成的依據。加載成功的話,就需要用到文件內容,所以將文件或文件內容傳遞到下一步也十分必要。

最后完成的代碼如下:

為了能真正派上用場,里面還有一些驗證文件類型的操作,不過跟本文主旨無關,略過不表。這段代碼的核心是創建一個 Promise 對象,等待 FileReader 讀取完成后調用 resolve 方法,或者出現問題時調用 reject 方法。

使用剛才封裝好的函數
接下來就可以在項目中使用了:

.then() 支持兩個參數,第一個在 Promise 成功時啟動,第二個自然在失敗時啟動。用 .catch() 可以實現同樣地效果。Promise 的好處除了可讀性更佳以外,返回的 Promise 對象還可以任意傳遞,繼續進行鏈式調用,有很大想象空間。

繼續 .then()
于是我們不妨串聯更多操作(本來想寫個斷點續傳的,回頭再說吧):

全選復制放進筆記reader(file)

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

javascript下使用Promise封裝FileReader_javascript技巧

javascript下使用Promise封裝FileReader_javascript技巧:Promise 在處理異步的時候是個很好的選擇,可以減少嵌套層次,讓代碼更好讀,邏輯更清晰。ES6 將其加入規范,jQuery 3.0 也修改實現向規范靠攏(3.0 發布公告)。一些新增元素比如 .fetch() 原生就 thenable,不過大多數以往的 API 還要依賴回調,這
推薦度:
標簽: 封裝 File javascript
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 国产成人综合精品一区 | 久久er99 | 亚洲三级网站 | 91久久国产综合精品 | 欧美日韩国产亚洲一区二区三区 | 欧美日韩免费一区二区三区 | 国产日韩欧美视频在线观看 | 欧美交性又色又爽又黄 | 亚洲成a人一区二区三区 | 久久精品亚洲一区二区三区浴池 | 最刺激黄a大片免费观看 | 国产精品大全国产精品 | 日韩欧美视频二区 | 台湾一级毛片永久免费 | 中文日韩欧美 | 日韩专区欧美 | 国模冰冰双人炮gogo | 九九久久国产精品大片 | 精品国产一区二区三区2021 | 国内精品久久久久久久aa护士 | 欧美日韩精品一区二区三区四区 | 久久久这里有精品999 | 视频在线观看国产 | 国产高清在线免费视频 | 久久精品无遮挡一级毛片 | 亚洲一区中文 | 亚洲欧美日韩在线观看 | 国产亚洲欧美一区二区 | 亚洲综合欧美日本另类激情 | 欧美午夜视频在线 | 亚洲偷| 国产日韩在线播放 | 欧美性妇| 一区二区三区精品牛牛 | 国产一区二区三区精品视频 | 欧美人与动性xxxxx杂性 | 国产成人精品视频 | 日本三级韩国三级韩级在线观看 | 91亚洲国产成人久久精品网站 | 日韩伦理亚洲欧美在线一区 | 国产欧美日韩在线观看 |