我想在浏览器扩展中使用Fetch API来下载资源并计算其哈希值。以下作品(通过Browserify使用加密)
fetch(url).then(function(response) {
return response.blob();
}).then(function(data) {
var a = new FileReader();
a.readAsBinaryString(data);
a.onloadend = function() {
var hash = crypto.createHash(hashType);
hash.update(a.result, 'binary');
return hash.digest('hex');
};
})
但有一个缺点,我必须等待,a.onloadend
而我想嵌入它的上下文需要Promise
返回。此外,首先获取整个 blob,然后将其读入 aFileReader
以便之后将其转储,这似乎很奇怪createHash
。
有什么提示吗?