gpt4 book ai didi

javascript - 'then'中只有满足一个条件才执行 'fetch'

转载 作者:行者123 更新时间:2023-11-30 13:53:06 24 4
gpt4 key购买 nike

我有一个返回字节数组的 API,使用 saveAs 将字节数组保存为 pdf。以下是示例代码。我的要求是,我可以去掉两个 then 吗?我尝试先将 saveascode 放入,即使下载了 pdf,也无法加载。

我有一些标题,我可以先 checkin 。response.headers.get("status"));只有状态正常,我才需要执行第二个。是否可以 ?截至目前,即使 response.ok 不为真,第二个 then 也会执行。有什么想法吗?

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);
}

最佳答案

如果你只想有条件地执行它,你应该把你的 then 处理程序放在 if block 中:

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
}
});

关于javascript - 'then'中只有满足一个条件才执行 'fetch',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57842279/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com