Spec-Zone.ru › Phoenix

Phoenix.LiveView.AsyncResult

Исходный код

Предоставляет структуру данных для отслеживания состояния асинхронного присваивания.

Дополнительную информацию см. в разделе Async Operations документации Phoenix.LiveView.

Поля

  • :ok? — если значение равно true, это означает, что :result успешно устанавливалось хотя бы один раз.
  • :loading — текущее состояние загрузки
  • :failed — текущее состояние ошибки
  • :result — успешный результат асинхронной задачи

Сводка

Функции

failed(result, reason)

Обновляет состояние ошибки.

loading()

Создаёт асинхронный результат в состоянии загрузки.

loading(result)

Обновляет состояние загрузки.

loading(result, loading_state)

Обновляет состояние загрузки существующего async_result.

ok(value)

Создаёт успешный результат.

ok(result, value)

Обновляет успешный результат.

Функции

failed(result, reason)Исходный код

Обновляет состояние ошибки.

При ошибке состояние загрузки сбрасывается в nil. Если ранее результат имел состояние ok?, устанавливаются и result, и failed.

Примеры

iex> result = AsyncResult.loading()
iex> result = AsyncResult.failed(result, {:exit, :boom})
iex> result.failed
{:exit, :boom}
iex> result.loading
nil

loading()Исходный код

Создаёт асинхронный результат в состоянии загрузки.

Примеры

iex> result = AsyncResult.loading()
iex> result.loading
true
iex> result.ok?
false

loading(result)Исходный код

Обновляет состояние загрузки.

При загрузке состояние ошибки сбрасывается в nil.

Примеры

iex> result = AsyncResult.loading(%{my: :loading_state})
iex> result.loading
%{my: :loading_state}
iex> result = AsyncResult.loading(result)
iex> result.loading
true

loading(result, loading_state)Исходный код

Обновляет состояние загрузки существующего async_result.

При загрузке состояние ошибки сбрасывается в nil. Если ранее результат имел состояние ok?, устанавливаются и result, и loading.

Примеры

iex> result = AsyncResult.loading()
iex> result = AsyncResult.loading(result, %{my: :other_state})
iex> result.loading
%{my: :other_state}

ok(value)Исходный код

Создаёт успешный результат.

Поле :ok? также устанавливается в true, чтобы указать, что этот результат хотя бы один раз был успешно завершён, независимо от будущих изменений состояния.

Примеры

iex> result = AsyncResult.ok("initial result")
iex> result.ok?
true
iex> result.result
"initial result"

ok(result, value)Исходный код

Обновляет успешный результат.

Поле :ok? также устанавливается в true, чтобы указать, что этот результат хотя бы один раз был успешно завершён, независимо от будущих изменений состояния.

При успешном завершении состояния загрузки и ошибки сбрасываются в nil.

Примеры

iex> result = AsyncResult.loading()
iex> result = AsyncResult.ok(result, "completed")
iex> result.ok?
true
iex> result.result
"completed"
iex> result.loading
nil

Пакет Hex Предварительный просмотр Hex Просмотреть llms.txt Скачать версию ePub

Создано с помощью ExDoc (v0.40.3) для языка программирования Elixir

© 2014 Chris McCord
Licensed under the MIT License.
https://phoenix-live-view.hexdocs.pm/Phoenix.LiveView.AsyncResult.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API