我正在尝试使用 tradeview 图表库并使用 bitquery api 来呈现贸易视图图表。
正在显示图表,但图表上没有数据。
我打开检查元素并注意到这一点:
更具体地说,关于 RangeError: Invalid time value
的部分我假设是什么导致图表不加载任何烛台数据?
这是 datafeed.js 中的代码部分:
// This method is used by the charting library to get historical data for the symbol.
getBars: async(symbolInfo, resolution, from, to, onHistoryCallback, onErrorCallback, first) =>{
try{
if (resolution==='1D') {
resolution = 1440;
}
const response2 = await axios.post(Bitquery.endpoint, {
query: Bitquery.GET_COIN_BARS,
variables: {
"from": new Date(from).toISOString(),
"to": new Date(to).toISOString(),
"interval": Number(resolution),
"tokenAddress": symbolInfo.ticker
},
mode: 'cors',
headers: {
"Content-Type": "application/json",
"X-API-KEY": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}
})
const bars = response2.data.data.ethereum.dexTrades.map(el => ({
time: new Date(el.timeInterval.minute).getTime(), // date string in api response
low: el.low,
high: el.high,
open: Number(el.open),
close: Number(el.close),
volume: el.volume
}))
if (bars.length){
onHistoryCallback(bars, {noData: false});
}else{
onHistoryCallback(bars, {noData: true});
}
} catch(err){
console.log({err})
// onErrorCallback(err)
}
我对交易视图图表库和 JS 还很陌生,所以我需要建议来解决这个问题。