我试图从 API 下载 json 文件。为此,我需要调用 3 个端点。
http://url.com/export
它返回一个json: {"exportLoading":true,"file":"export-20190618-183316.json"}
之后,我应该调用第二个端点并检查此导出的状态:
http://url.com/export/status
它返回true
or false
(当服务器正在处理时,此端点返回true
。当它返回false
文件时,文件已完成下载。)
因此,如果status === false
, 我可以调用最后一个端点 http://url.com/download/file_name
(我使此请求传递文件名 - 从第一个请求返回 - 以下载文件。
我的问题是,如何检查第二个端点是否返回false
以发出最后一个请求并下载文件?
我只是这样做,直到第二个端点。
app.get('/export', function (req, res, next) {
global.fetch = fetch
global.Headers = fetch.Headers;
const headers = new Headers();
const username = 'user';
const password = 'pass';
const URL = 'http://url.com/export'
headers.set('Authorization', 'Basic ' + base64.encode(username + ":" + password));
fetch(URL, {
method: 'GET',
headers: headers,
})
.then(res => res.json())
.then(json => {
fetch("http://url.com/exportl/status", {
method: 'GET',
headers: headers,
}).then(result => ...)
})
.catch(function (error) {
console.log(error)
})
});
相关分类