關於fileReader的一個坑

在用fileReader做圖片瀏覽時,
使用base64格式

var file=this.$refs.resource.files[0]
var reader = new FileReader();
// 以DataURL的形式讀取文件:
reader.readAsDataURL(file);
//讀取後的回調js是多線程
reader.onloadend=(e)=>{

 }
Javascript 本身是單線程的,並沒有異步的特性。由於 Javascript 的運用場景是瀏覽器,瀏覽器本身是典型的 GUI 工作線程,GUI 工作線程在絕大多數系統中都實現爲事件處理,避免阻塞交互,因此產生了 Javascript 異步基因。此後種種都源於此。
//沒錯,網絡,文件。。。。都是基於瀏覽器的接口實現的
作者:響馬
鏈接:https://www.zhihu.com/question/20866267/answer/25935927
來源:知乎
著作權歸作者所有。商業轉載請聯繫作者獲得授權,非商業轉載請註明出處。

如果兩次讀取的都 是相同的文件,並不會執行加載完成事件。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章