Google云终端会终止多个获取请求吗?

时间:2018-12-21 09:57:29

标签: node.js get google-cloud-shell

我正在尝试通过Google云终端发送获取请求。获取请求位于map函数内部,因此必须根据41个项目进行大约41个请求。不幸的是,在13到14个请求之后,它开始引发以下错误:

(节点:363)UnhandledPromiseRejectionWarning:未处理的承诺拒绝(拒绝ID:2):FetchError:http://project-vision-201106.appspot.com/fetch_ticker?pair=POWR/BTC处的json响应正文无效原因:意外的令牌

(节点:363)UnhandledPromiseRejectionWarning:未处理的承诺拒绝(拒绝ID:4):FetchError:http://project-vision-201106.appspot.com/fetch_ticker?pair=DNT/BTC处的json响应正文无效原因:意外的令牌

...

在手动获取请求后,以下一对组件就像一个护身符一样工作。是与超时b / c限制有关的问题,还是我在这里做错了什么?

这是我的代码:

const calBTC = _.map(balance_final, (val, key) => {
            if (key === 'BTC') {
                allBTC.push(val);
            } else {
                return fetch(`http://project-vision-201106.appspot.com    /fetch_ticker?pair=${key}/BTC`).then(res => {
                    return res.json().then(res => {
                        console.log(res.close);
                        return res.close * val;
                    })
                }, error => {
                    return '000';
                })
            }
        });

这是请求块:

app.get('/fetch_ticker', (req, res) => {
            (async () => {
                let pair = req.param('pair', "BTC/ETH");
                let ex = req.param('exchange', "coinmarketcap");
                let myArr = [];
                let exchange = new ccxt[ex]();
                let tickers = await exchange.fetchTicker(pair);

                myArr.push(tickers);

                //Send req
                res.status(200).send(tickers);
            })()
        });

0 个答案:

没有答案