首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

redux-saga:为什么` `yield (func,params)`失败,而` `yield (()=>func(params))`成功?

redux-saga是一个用于管理应用程序副作用(例如异步请求和状态更新)的库。在使用redux-saga时,我们可以使用yield关键字来暂停和恢复副作用的执行。

在这个问答内容中,提到了两种不同的yield语法:yield (func, params)yield (()=>func(params))。它们之间的区别在于函数调用的方式。

  1. yield (func, params)失败的原因: 当使用yield (func, params)语法时,redux-saga会尝试将funcparams作为一个整体进行调用。然而,这种语法在redux-saga中是不支持的,因为它无法正确地解析和执行这种调用方式。因此,使用这种语法会导致失败。
  2. yield (()=>func(params))成功的原因: 当使用yield (()=>func(params))语法时,我们将funcparams封装在一个箭头函数中。这样做的好处是,redux-saga可以正确地解析和执行这个箭头函数,并将其作为一个可执行的副作用进行处理。通过这种方式,我们可以成功地调用func并传递params参数。

综上所述,yield (()=>func(params))语法成功是因为它使用了箭头函数来封装函数调用,而yield (func, params)语法失败是因为redux-saga无法正确解析和执行这种调用方式。

对于redux-saga的更多信息和使用示例,可以参考腾讯云的相关产品和产品介绍链接地址。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的沙龙

领券