"use strict";
// 1) get a promise of the content
var promise = new JSZip.external.Promise(function (resolve, reject) {
JSZipUtils.getBinaryContent("/jszip/test/ref/text.zip", function(err, data) {
if (err) {
reject(err);
} else {
resolve(data);
}
});
});
promise.then(JSZip.loadAsync) // 2) chain with the zip promise
.then(function(zip) {
return zip.file("Hello.txt").async("string"); // 3) chain with the text content promise
})
.then(function success(text) { // 4) display the result
$("#jszip_utils").append($("<p>", {
"class": "alert alert-success",
text: "loaded, content = " + text
}));
}, function error(e) {
$("#jszip_utils").append($("<p>", {
"class": "alert alert-danger",
text: e
}));
});
<div id="jszip_utils"></div>
"use strict";
fetch("/jszip/test/ref/text.zip") // 1) fetch the url
.then(function (response) { // 2) filter on 200 OK
if (response.status === 200 || response.status === 0) {
return Promise.resolve(response.blob());
} else {
return Promise.reject(new Error(response.statusText));
}
})
.then(JSZip.loadAsync) // 3) chain with the zip promise
.then(function (zip) {
return zip.file("Hello.txt").async("string"); // 4) chain with the text content promise
})
.then(function success(text) { // 5) display the result
$("#fetch").append($("<p>", {
"class": "alert alert-success",
text: "loaded, content = " + text
}));
}, function error(e) {
$("#fetch").append($("<p>", {
"class": "alert alert-danger",
text: e
}));
});
<div id="fetch"></div>