gecko-dev/dom/tests/mochitest/fetch/utils.js
Nikhil Marathe 9b5f6b134f Bug 1109751 - Consume FormData support in Fetch API. r=baku
--HG--
extra : __touch-noise__ : 2181078256
extra : transplant_source : %A4%7F%FF%9CV%9F%2C%F7%C1%A0%BBoc%CC%BB%0E%8E%F5%80%C1
2015-04-03 22:55:15 -07:00

38 lines
962 B
JavaScript

// Utilities
// =========
// Helper that uses FileReader or FileReaderSync based on context and returns
// a Promise that resolves with the text or rejects with error.
function readAsText(blob) {
if (typeof FileReader !== "undefined") {
return new Promise(function(resolve, reject) {
var fs = new FileReader();
fs.onload = function() {
resolve(fs.result);
}
fs.onerror = reject;
fs.readAsText(blob);
});
} else {
var fs = new FileReaderSync();
return Promise.resolve(fs.readAsText(blob));
}
}
function readAsArrayBuffer(blob) {
if (typeof FileReader !== "undefined") {
return new Promise(function(resolve, reject) {
var fs = new FileReader();
fs.onload = function() {
resolve(fs.result);
}
fs.onerror = reject;
fs.readAsArrayBuffer(blob);
});
} else {
var fs = new FileReaderSync();
return Promise.resolve(fs.readAsArrayBuffer(blob));
}
}