javascript - 如何解决 RangeError:Date.toISOString 的时间值无效
问题描述
我正在尝试使用tradingview 图表库和使用bitquery api 来呈现tradingview 图表以进行数据馈送。
图表正在显示,但图表上没有数据。
我打开了检查元素并注意到了这一点:
更具体地说,关于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)
}
我对 tradingview 图表库和 JS 相当陌生,所以我需要建议来解决这个问题。
解决方案
推荐阅读
- excel - 为什么我的任何 IF/ELSEIF 语句都不会执行?
- node.js - 节点 JS 解密在 Ubuntu 服务器上不起作用
- c++ - libusbK 微帧 OvlK_Wait
- amazon-web-services - DynamoDB PutItem 中的非预期结果
- amazon-web-services - 如何在没有错误的情况下执行 AWS Step Function 重试
- javascript - 全宽视频大于 html5 中的屏幕尺寸
- arrays - 关联对象和 Swift 数组
- c# - 在 VS 中启动我的 C# 项目时,有没有办法运行 SQL Server docker 映像?
- python - 相当于在 Tensorflow 中设置类似 Numpy 的掩码值?
- sql - SQL:按地区存储类别计数器