Я пытаюсь загрузить файл json из API.Для этого мне нужно вызвать 3 конечные точки.
http://url.com/export
возвращает json: {"exportLoading":true,"file":"export-20190618-183316.json"}
После этого я должен вызвать вторую конечную точку и проверитьстатус этого экспорта:
http://url.com/export/status
возвращает true
или 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)
})
});