Tôi muốn sử dụng Fetch API trong tiện ích mở rộng trình duyệt để tải xuống tài nguyên và tính toán băm của tài nguyên đó. Các công trình sau đây (sử dụng crypto qua Browserify)tìm nạp tài nguyên, băm tính toán, lời hứa trả lại
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');
};
})
nhưng có những bất lợi mà tôi phải chờ a.onloadend
trong khi bối cảnh trong đó tôi muốn nhúng nó đòi hỏi một Promise
để được trả lại. Ngoài ra, có vẻ như khá lạ khi lần đầu tiên tìm nạp toàn bộ đốm màu, sau đó đọc nó vào một số FileReader
chỉ để đổ nó vào createHash
sau đó.
Bất kỳ gợi ý?
Có lẽ câu hỏi này tốt hơn sẽ phù hợp cho http: //codereview.stackexchange.com? – Pavlo
Câu hỏi này có vẻ phù hợp với [Code Review.SE] (http://codereview.stackexchange.com/), với điều kiện (a) bạn muốn _every aspect_ của mã được xem xét, không chỉ một số, (b) mã của bạn là _already working_, và (c) bạn đang yêu cầu xem xét _concrete, code_ thực, không phải là thiết kế trừu tượng (có hay không nó được thể hiện dưới dạng mã). Nếu bạn đồng ý với tất cả những điều đó, vui lòng đọc về [chủ đề gì] (http://codereview.stackexchange.com/help/on-topic), và nếu câu hỏi của bạn phù hợp với điều đó, hãy xóa nó ở đây và đăng lại nó trên CR . – Phrancis
(a) và (c) không áp dụng ở đây, vì vậy tôi đoán nó không phù hợp. –