如何解决 RangeError: Invalid time value at Date.toISOString

时间:2021-06-29 19:34:52

标签: javascript reactjs graphql graphql-js

我正在尝试使用 tradeview 图表库并使用 bitquery api 来呈现贸易视图图表。

正在显示图表,但图表上没有数据。

我打开检查元素并注意到这一点:

enter image description here

更具体地说,关于 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 还很陌生,所以我需要建议来解决这个问题。

0 个答案:

没有答案