मैं संसाधन डाउनलोड करने और उसके हैश की गणना करने के लिए ब्राउज़र एक्सटेंशन में Fetch API का उपयोग करना चाहता हूं। निम्नलिखित काम करता है (Browserify के माध्यम से crypto का उपयोग कर)संसाधन संसाधन, गणना हैश, वापसी वादा
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');
};
})
लेकिन नुकसान मैं संदर्भ में मैं एम्बेड करना चाहते हैं यह एक Promise
वापस करने की आवश्यकता है, जबकि a.onloadend
लिए इंतजार करना पड़ जाती हैं। इसके अलावा, यह पूरे ब्लॉब को पहले लाने के लिए काफी अजीब लगता है, फिर इसे FileReader
में पढ़ने के लिए इसे createHash
में डंप करने के लिए पढ़ें।
कोई संकेत?
हो सकता है कि इस सवाल का बेहतर http के लिए फिट होगा: //codereview.stackexchange.com? – Pavlo
यह प्रश्न ऐसा लगता है कि यह [कोड समीक्षा.एसई] (http://codereview.stackexchange.com/) के लिए एक बहुत अच्छा फिट हो सकता है, बशर्ते कि (ए) आप चाहते हैं कि आपके कोड की हर पहलू_ समीक्षा की गई हो, न केवल कुछ, (बी) आपका कोड _already working_ है, और (सी) आप _concrete, असली code_ की समीक्षा के लिए पूछ रहे हैं, अमूर्त डिज़ाइन नहीं (चाहे वह कोड के रूप में व्यक्त किया गया हो)। यदि आप उन सभी के साथ सहमत हैं, तो कृपया [विषय पर क्या है] (http://codereview.stackexchange.com/help/on-topic) के बारे में पढ़ें, और यदि आपका प्रश्न फिट बैठता है, तो इसे यहां हटाएं और इसे सीआर पर दोबारा पोस्ट करें । – Phrancis
(ए) और (सी) यहां लागू नहीं हैं, इसलिए मुझे लगता है कि यह एक फिट नहीं है। –