Websocket, rtk query и api binance. Проблема с запросом
Я хочу получить основную информацию по бирже запросом: wss://stream.binance.com:9443/ws/exchangeInfo. Я так же использую rtk query. Проблема в том, что данные почему то не приходят. Код до console.log(data) даже не доходит. Это само место запроса:
import { createApi, fetchBaseQuery } from '@reduxjs/toolkit/query/react'
export const CoinApi=createApi({
reducerPath: 'coinApi',
baseQuery: fetchBaseQuery({baseUrl:'/'}),
endpoints: (build)=>({
getCoin: build.query<any,void>({
query:()=>`/ws/exchangeInfo`,
async onCacheEntryAdded(
arg,
{ updateCachedData, cacheDataLoaded, cacheEntryRemoved }
) {
const ws = new WebSocket('wss://stream.binance.com:9443/ws/exchangeInfo')
try {
await cacheDataLoaded
const listener = (event: MessageEvent) => {
const data = JSON.parse(event.data)
updateCachedData((draft) => {
draft.push(data)
})
console.log(data)
}
ws.addEventListener('message', listener)
} catch {
console.log('error')
}
await cacheEntryRemoved
ws.close()
},
})
})
})
export const {useGetCoinQuery}=CoinApi
Это место, где я использую хук useGetCoinQuery
const CoinName = () => {
const {data, isLoading, isError, isFetching, isSuccess}=useGetCoinQuery()
const coin='Coin name'
const [isActiveModal, setIsActiveModal]=useState<boolean>(false)
const copyText=()=>{
navigator.clipboard.writeText(coin)
setIsActiveModal(true)
setTimeout(()=>{
setIsActiveModal(false)
}, 1000)
}
return (
<div className={styles.wrap}>
<h1>{coin} <ContentCopyIcon onClick={copyText}/></h1>
<ModalCopied isActiveModal={isActiveModal}/>
</div>
)
}
Может проблема в base url? если я его меняю на wss://stream.binance.com:9443. то показывает ошибку: Fetch API cannot load wss://stream.binance.com:9443/ws/exchangeInfo. URL scheme "wss" is not supported.