我有一个返回字节数组的api,使用saveAs将字节数组保存为pdf。以下是示例代码。我的要求是,我可以取消两个然后吗?我尝试先放入saveascode,即使下载了pdf,也无法加载。
我有一些标头,然后可以先检入。
response.headers.get("status"));
仅当状态正常时,我才需要执行第二个。
可能吗 ?
到目前为止,即使response.ok
不为真,也将执行第二个。有什么想法吗?
fetch(param).then(function(response) {
if (response.headers.get("status")) == 'ok') {
return response.blob();
}
}).then(function(response) {
if (response == undefined) {
//handle
} else {
const file = new Blob([response], {
type: 'application/pdf',
});
saveAs(file, fileName);
}
答案 0 :(得分:1)
fetch(param).then(function (response) {
if (response.headers.get("status") == 'ok') {
return response.blob();
}
else { throw new Error("Status is not ok"); }
}).then(function (response) {
if (response == undefined) {
//handle
} else {
const file = new Blob([response], {
type: 'application/pdf',
});
saveAs(file, fileName);
}
}, function (statusNotOKError) {
//do handling if needed
});
答案 1 :(得分:1)
然后,如果您只想有条件地执行,则应将if
处理程序放入该fetch(param).then(function(response) {
if (response.headers.get("status")) == 'ok') {
return response.blob().then(function(response) {
const file = new Blob([response], {
type: 'application/pdf',
});
saveAs(file, fileName);
}
} else {
// handle
}
});
块中:
drag_and_drop