从终极版传奇延迟功能不工作

问题描述 投票:3回答:1

我试着去使用延时功能,但我得到一个错误,延迟不是一个函数。

直接从文档:

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'})
}
react-native redux-saga
1个回答
7
投票

我怀疑这样做的原因是因为文档最近更新的终极版,传奇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

© www.soinside.com 2019 - 2024. All rights reserved.