猿问

如何检查获取响应以调用另一个响应?

我试图从 API 下载 json 文件。为此,我需要调用 3 个端点。

http://url.com/export

它返回一个json: {"exportLoading":true,"file":"export-20190618-183316.json"}

之后,我应该调用第二个端点并检查此导出的状态:

http://url.com/export/status

它返回trueor 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)

      }) 

});


呼啦一阵风
浏览 136回答 1
1回答
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答