[英]HTML5 and JavaScript: How do I make paste handling fully/more asynchronous?
我正在使用ClipboardData API將復制粘貼功能實現到瀏覽器應用程序中, 如本答案中所述。
FileReader::readAsDataURL(blob)
提供了對文件數據的異步讀取,這很棒。
var items = (event.clipboardData || event.originalEvent.clipboardData).items;
var reader = new FileReader();
reader.onload = function(event){
/*add item (i.e. image) to page*/}; //callback
var blob = items[0].getAsFile(); //not async
reader.readAsDataURL(blob); //async
問題:
1)有沒有辦法使DataTransferItem::getAsFile()
方法異步?
2)有沒有辦法讓FileReader
將DataTransferItem
作為一個參數,這樣它可以像blob一樣執行async
本身?
3)我運氣不好嗎?
有沒有辦法使DataTransferItem :: getAsFile()方法異步?
不, 它被指定為同步。 但是,絕對沒有理由使這種異步 - 對文件的引用很快被構造,並且不包含任何數據挖掘。 就像input.files
同步地獲取對尚未讀入的文件的引用一樣。
有沒有辦法讓
FileReader
將DataTransferItem
作為一個參數,以便它可以像blob一樣執行異步本身?
不。它只需要item.getAsFile()
blob,並且可以異步讀取它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.