Состояние «isLoading» RTK-запроса становится «ложным» перед получением данных.Javascript

Форум по Javascript
Ответить Пред. темаСлед. тема
Anonymous
 Состояние «isLoading» RTK-запроса становится «ложным» перед получением данных.

Сообщение Anonymous »

У меня есть API, который обрабатывает получение данных из Socket-соединения:

Код: Выделить всё

import { api } from "../../api";
import { createSocketFactory } from "@/services/socket";

import type { Coin } from "@/interfaces/global/coin.types";

export const pricesApi = api.injectEndpoints({
endpoints: (build) => ({
getCoinPrices: build.query({
queryFn: () => ({ data: [] }),
onCacheEntryAdded: async (
arg,
{ updateCachedData, cacheDataLoaded, cacheEntryRemoved }
) => {
// Create the socket IO instance and start the connection when the cache subscription starts
const socket = await createSocketFactory();

try {
// Wait for the initial query to resolve before proceeding
await cacheDataLoaded;

// Listen for price updates
const listener = (data: Coin[]) => {
updateCachedData(() => data);
};

// Start listening for price updates
socket.on("prices", listener);
} catch (error) {}

// `cacheEntryRemoved` will resolve when the cache subscription is no longer active
await cacheEntryRemoved;

// Perform cleanup steps once the `cacheEntryRemoved` promise resolves
socket.off();
socket.disconnect();
},
}),
}),
});

export const { useGetCoinPricesQuery } = pricesApi;
в компоненте, когда я получаю данные, ISloading установлен на True , но сразу же он установил на false до того, как данные будут извлечены от соединения. На самом деле он получает false здесь:
< /p>
Ожидается ли это поведение? Потому что я использовал такой же способ обработки подключения к сокетам в другом проекте, который использовал RTK v1.9, а ISloading получит false после загрузки данных.
Как я могу отслеживать загрузку Укажите, если это не реальная проблема?

Подробнее здесь: https://stackoverflow.com/questions/793 ... en-fetched
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Почему мое состояние не становится ложным, когда я нажимаю кнопку закрытия в меню?
    Anonymous » » в форуме CSS
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous
  • Всегда становится ложным, читая поля из MySQL
    Anonymous » » в форуме JAVA
    0 Ответы
    3 Просмотры
    Последнее сообщение Anonymous
  • Всегда становится ложным, читая поля из MySQL
    Anonymous » » в форуме MySql
    0 Ответы
    3 Просмотры
    Последнее сообщение Anonymous
  • Всегда становится ложным, читая поля из MySQL
    Anonymous » » в форуме JAVA
    0 Ответы
    3 Просмотры
    Последнее сообщение Anonymous
  • Всегда становится ложным, читая поля из MySQL
    Anonymous » » в форуме JAVA
    0 Ответы
    4 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Javascript»