return value calculated from javascript FileReader onload event
15,050
File reading using File Reader is asynchronous operation. Place your logic inside the onload
function of file reader.
function doStuff(range, file) {
var fr = new FileReader();
fr.onload = function (e) {
var out = "stuff happens here";
hash = asmCrypto.SHA256.hex(out);
/* Place your logic here */
};
fr.readAsArrayBuffer(file);
}
You can even pass a callback function that will be executed once the file is read.
function doStuff(range, file, callback) {
var fr = new FileReader();
fr.onload = function (e) {
var out = "stuff happens here";
hash = asmCrypto.SHA256.hex(out);
/* Assuming callback is function */
callback(hash);
};
fr.readAsArrayBuffer(file);
}
Related videos on Youtube
Author by
domoarigato
Updated on October 16, 2022Comments
-
domoarigato over 1 year
I have this function:
function doStuff(range, file) { var fr = new FileReader(); var hash = ''; fr.onload = function (e) { var out = "stuff happens here"; hash = asmCrypto.SHA256.hex(out); return hash; }; fr.readAsArrayBuffer(file); return hash; }
Right now, the function completes before the onload event is finished, so doStuff always returns "". I think a callback is what I need, but I'm new to javascript, and I can't wrap my mind around how to implement it in this case.