Функциональность задержки саги редукса не работает - PullRequest
0 голосов
/ 03 февраля 2019

Я пытаюсь использовать функцию задержки, но я получаю сообщение об ошибке, что задержка не является функцией.

Прямо из документов:

import { race, call, put, delay } from 'redux-saga/effects'

function* fetchPostsWithTimeout() {
  const {posts, timeout} = yield race({
    posts: call(fetchApi, '/posts'),
    timeout: delay(1000)
  })

  if (posts)
    yield put({type: 'POSTS_RECEIVED', posts})
  else
    yield put({type: 'TIMEOUT_ERROR'})
}

1 Ответ

0 голосов
/ 04 февраля 2019

Я подозреваю, что причина этого в том, что документы были недавно обновлены для redux-saga v1.0.0.Это важно, потому что ранее (в версиях 0.x, которые вы, вероятно, используете), это был не эффект, а всего лишь помощник.

В версии 0.x вы должны импортировать его как:

import {delay} from 'redux-saga'

Эта функция задержки будет возвращать обещание.

В версии 1.0.0 вы можете использовать его, как упомянуто в документации.

import {delay} from 'redux-saga/effects'

Эта задержка является создателем эффекта и возвращает объект эффекта.

Для получения дополнительной информации о выпуске v1 см. https://github.com/redux-saga/redux-saga/releases/tag/v1.0.0

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...