我正在尝试通过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);
})()
});