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

前端实现异步几种方式_redux是什么

大家好,又见面了,是你们朋友全栈君。 1.什么是Saga?...也就是说,从下单到出票,最长可能需要30分钟,这就是传说中LLT。用过数据库同学肯定都知道,所谓“事务(Transaction)”,指的是一个原子操作,要么全部执行,要么全部回滚。...如果有一天跟你说你提交代码有side effect,其实是在委婉地说,你代码搞出bug来了。。。当然,这跟我们这里讨论side effect不是一回事儿。...另一个常用辅助函数时takeLatest(),当有相同action发送过来时,会取消当前正在执行任务并重新启动一个新worker saga。...然后我们看下workerSaga,可以看到并不是直接调用异步函数或者派发action,而是通过call()以及put()这样函数。这就是redux-saga中最为重要一个概念:Effect。

1.7K30

一天梳理完react面试高频题

处理异步操作,actionCreator返回值是promise如何配置 React-Router 实现路由切换(1)使用 组件路由匹配是通过比较 path 属性和当前地址...redux异步流中间件其实有很多,当下主流异步中间件有两种redux-thunk、redux-saga。...redux-observable额外范式,上⼿简单redux-thunk缺陷:样板代码过多: 与redux本身⼀样,通常⼀个请求需要⼤量代码,⽽且很多都是重复性质耦合严重: 异步操作redux...时,该action函数体会自动执行 store.dispatch(action)}(2)使用redux-saga中间件redux-saga优点:异步解耦: 异步操作被被转移到单独 saga.js...和⼀整套思想体积庞⼤: 体积略⼤,代码近2000⾏,min版25KB左右功能过剩: 实际上并发控制等功能很难⽤到,但是我们依然需要引⼊这些代码ts⽀持不友好: yield⽆法返回TS类型redux-saga

4.1K20
您找到你想要的搜索结果了吗?
是的
没有找到

React-Redux-Saga

Redux-saga 简介redux-sagaredux-thunk 一样, 是一个 Redux 中获取存储异步数据中间件redux-saga 可以直接拦截 dispatch 派发 action..., 从而实现在执行 reducer 之前执行一些其它操作使用 Redux-saga安装 Redux-saganpm install redux-saga在创建 store 时应用 redux-saga...中间件,更改 store.jsimport {createStore, applyMiddleware} from 'redux'/*注意点: 如果导入redux-thunk, 那么返回给我们是一个中间件对象...如果导入redux-saga, 那么返回给我们是一个用于创建中间件对象方法* */import createSagaMiddleware from 'redux-saga'import...大家点赞支持一下哟~ 正在参与2023腾讯技术创作特训营第二期有奖征文,瓜分万元奖池和键盘手表图片

18030

redux-saga

前端开发者正在经受前所未有的复杂性,难道就这么放弃了吗?当然不是。 这里复杂性很大程度上来自于:我们总是将两个难以理清概念混淆在一起:变化和异步。 称它们为曼妥思和可乐。...如果把二者分开,能做很好,但混到一起,就变得一团糟。一些库如 React 试图在视图层禁止异步和直接操作 DOM 来解决这个问题。...因此我们首先得学习Redux,中文官网地址:http://cn.redux.js.org/ 此时我们可以很好在大型项目中管理我们state了,但如果我们要异步获取数据、访问浏览器缓存等操作,就需要用到...Redux-Saga 官网地址(英文):https://redux-saga.js.org/ 中文文档地址:https://redux-saga-in-chinese.js.org/ 简单进行入门了一下...,编写了一个redux-sagagetting start demo https://gitee.com/VampireAchao/simple-redux-saga.git 注释都写得比较完善 运行方式

52310

前端二面高频react面试题集锦_2023-02-23

此函数必须保持纯净,即必须每次调用时都返回相同结果。 Redux 中间件是什么?接受几个参数?柯里化函数两端参数具体是什么?...redux异步流中间件其实有很多,当下主流异步中间件有两种redux-thunk、redux-saga。...时,该action函数体会自动执行 store.dispatch(action) } (2)使用redux-saga中间件 redux-saga优点: 异步解耦: 异步操作被被转移到单独 saga.js...: redux-saga提供了⼤量Saga 辅助函数和Effect 创建器供开发者使⽤,开发者⽆须封装或者简单封装即可使⽤ 灵活: redux-saga可以将多个Saga可以串⾏/并⾏组合起来,形成⼀...:组件真正在被装载之后 运行中状态: componentWillReceiveProps:组件将要接收到属性时候调用 shouldComponentUpdate:组件接受到新属性或者新状态时候(可以返回

2.8K20

redux-saga_pub culture

大家好,又见面了,是你们朋友全栈君。 本文用以记录从调研Redux Saga,到应用到项目中一些收获。...刚开始了解Saga时,看官方解释,并不是很清楚到底是什么?Saga副作用(side effects)到底是什么?...在最初调研中redux-thunk是首先考虑redux-thunk是在action作用到reducer之前触发一些业务操作。刚好起到控制层作用。...但是,马上了解到了redux-sage,因为大家都在对比两者。本文并不会做对比,在文章最后会简单介绍为什么选了Saga不是thunk原因,仅供参考。...拿到后端返回状态 (promise so easy…) 隐藏提示信息 (这个有点难度,不过难不倒给组建加一个控制属性) 更新redux store (dispatch咯。。。)

1.4K10

React saga_react获取子组件ref

大家好,又见面了,是你们朋友全栈君。...前言 React作用View层次前端框架,自然少不了很多中间件(Redux Middleware)做数据处理, 而redux-saga就是其中之一,目前这个中间件在网上资料还是比较少,估计应用不是很广泛...action不易维护原因: action形式不统一 就是异步操作太为分散,分散在了各个action中 2.redux-saga写一个hellosaga 跟redux-thunk,redux-saga...是控制执行generator,在redux-saga中action是原始js对象,把所有的异步副作用操作放在了saga函数里面。...3.redux-saga使用技术细节 redux-saga除了上述action统一、可以集中处理异步操作等优点外,redux-saga中使用声明式Effect以及提供了更加细腻控制流。

4.5K30

单向数据流-从共享状态管理:fluxreduxvuex漫谈异步数据处理

redux-saga redux-saga是一个Redux中间件,用来帮你管理程序副作用。或者更直接一点,主要是用来处理异步action。...关于saga原理,推举阅读《前端技术栈(三):redux-saga,化异步为同步》 什么是Saga?...redux-saga 采用了另外一种思路,它没有把异步操作放在 action creator 中,也没有去处理 reductor,而是把所有的异步操作看成“线程”,可以通过普通action去触发它,当操作完成时也会触发...redux-saga 把异步获取数据这类操作都叫做副作用(Side  Effect),它目标就是把这些副作用管理好,让他们执行更高效,测试更简单,在处理故障时更容易。...这样看来认为VUE是更推荐在使用了VUEX框架中每个组件内部都使用store,而React-Redux则提供了自由选择性。

3.6K40

前端react面试题(必备)2

Virtual DOM厉害地方并不是说它比直接操作 DOM 快,而是说不管数据怎么变,都会尽量以最小代价去更新 DOM。...redux异步流中间件其实有很多,当下主流异步中间件有两种redux-thunk、redux-saga。...redux-observable额外范式,上⼿简单redux-thunk缺陷:样板代码过多: 与redux本身⼀样,通常⼀个请求需要⼤量代码,⽽且很多都是重复性质耦合严重: 异步操作redux...时,该action函数体会自动执行 store.dispatch(action)}(2)使用redux-saga中间件redux-saga优点:异步解耦: 异步操作被被转移到单独 saga.js...和⼀整套思想体积庞⼤: 体积略⼤,代码近2000⾏,min版25KB左右功能过剩: 实际上并发控制等功能很难⽤到,但是我们依然需要引⼊这些代码ts⽀持不友好: yield⽆法返回TS类型redux-saga

2.3K20

手写Redux-Saga源码

本文要讲就是Redux-Saga,这个也是在实际工作中使用最多Redux异步解决方案。...本文全部代码参照官方源码写成,函数名字和变量名字尽量保持一致,写到具体方法时候也会贴出对应代码地址,主要代码都在这里:github.com/redux-saga/… 先来看看我们用到了哪些API...,而不是简单事件名称匹配,事实上Redux-Saga本身就支持好几种匹配模式,包括字符串,Symbol,数组等等。...,然后进行处理,这里代码简化了,只支持IO这种effect,官方源码中还支持promise和iterator,具体可以看看他源码:github.com/redux-saga/… effectRunner...:github.com/redux-saga/… effects 上面我们讲了几个effect具体处理方法,但是这些都不是对外暴露effect API。

1.7K30

2022社招React面试题 附答案

HOC 自身不是 React API 一部分,它是一种基于 React 组合特性而形成设计模式。具体而言,高阶组件是参数为组件,返回值为新组件函数。...在这里,"render"命名可以是任何其他有效标识符。...时,该action函数体会自动执行 store.dispatch(action)}复制代码 (2)使用redux-saga中间件 redux-saga优点: 异步解耦: 异步操作被被转移到单独...功能强⼤: redux-saga提供了⼤量Saga 辅助函数和Effect 创建器供开发者使⽤,开发者⽆须封装或者简单封装即可使⽤ 灵活: redux-saga可以将多个Saga可以串⾏/并⾏组合起来...前端开发者正在经受前所未有的复杂性,难道就这么放弃了吗?当然不是。 这里复杂性很大程度上来自于:我们总是将两个难以理清概念混淆在一起:变化和异步。 可以称它们为曼妥思和可乐。

2K50

2021高频前端面试题汇总之React篇

HOC 自身不是 React API 一部分,它是一种基于 React 组合特性而形成设计模式。具体而言,高阶组件是参数为组件,返回值为新组件函数。...在这里,"render"命名可以是任何其他有效标识符。...时,该action函数体会自动执行 store.dispatch(action) } 复制代码 (2)使用redux-saga中间件 redux-saga优点: 异步解耦: 异步操作被被转移到单独...功能强⼤: redux-saga提供了⼤量Saga 辅助函数和Effect 创建器供开发者使⽤,开发者⽆须封装或者简单封装即可使⽤ 灵活: redux-saga可以将多个Saga可以串⾏/并⾏组合起来...前端开发者正在经受前所未有的复杂性,难道就这么放弃了吗?当然不是。 这里复杂性很大程度上来自于:我们总是将两个难以理清概念混淆在一起:变化和异步。 可以称它们为曼妥思和可乐。

2K00

TypeScript遭库开发者嫌弃:类型简直是万恶之源

然而,本周 redux-saga 工程师 Eric Bower 却在一篇博客中提出了不同意见,他站在库开发者角度,直言“很讨厌 TypeScript”,并列举了五点理由。...redux-saga 是一个 库(Library),具体来说,大部分情况下,它是以 Redux 中间件形式而存在,主要是为了更优雅地管理 Redux 应用程序中副作用(Side Effects)。...说明文档 端开发者可太幸福了,TypeScript 给他们准备了完备说明文档和博文资料。但在库开发者这边,可用素材却很少。能找到最接近库开发需求内容,主要集中在类型操作上面。...就帮忙维护过 redux-saga,项目近期发布 PR 和 issue 主要就集中在类型身上。 发现相较于编写库代码,花在类型调整上时间要多得多。...访谈录现开放长期报名通道,如果你身处传统企业经历了数字化转型变革,或者正在互联网公司进行创新技术研发,并希望 InfoQ 可以关注和采访你所在技术团队,可以添加微信:caifangfang842852

62910

redux-saga

redux-saga负责调度管理 Saga来头不小(1W star不是浪得),是某篇论文中提出一种分布式事务机制,用来管理长期运行业务进程 P.S.关于Saga背景更多信息,请查看Background...,例如把[Effect1, Effect2]转换为并行调用 类似于装箱(把业务操作用Effect包起来)拆箱(执行Effect里业务操作),此外,完整redux-saga还要实现: 作为middleware...区别是Flux用action描述消息(发生了什么),而redux-saga用Effect描述操作指令(要做什么) Effect creator redux-saga/effects提供了很多用来生成Effect...术语Saga指的是一系列操作集合,是个运行时抽象概念 redux-sagaSaga形式上是generator,用来描述一组操作,而generator是个具体静态概念 P.S.redux-saga...里所说Saga大多数情况下指都是generator形式一组操作,而不是redux-saga自身。

1.9K41

Redux:从action到saga

这个时候就需要redux-saga了。在redux-sagasaga就是一个可声明组织良好副作用实现方式(超时,API调用等等。。)...所以不用再用redux-thunk中间件来写,我们用saga来发出action并yield副作用。这样不复杂?action creator这样写法不是更简单?虽然看起来是这样,但是NO!...(作者)更加倾向于把整个generator叫做纯generator,因为它不会实际执行副作用,只会生成一个要执行副作用描述。...在上面的例子中用了两种副作用: 一个put副作用,它会给redux store分发一个action。 一个call副作用,它会执行一个异步方法(promise,cps后者其他saga)。...thunkaction creator在分发它返回方法时候就会触发。

1.2K00

高级前端react面试题总结

和解(reconciliation)最终目标是以最有效方式,根据这个新状态来更新UI。...Redux 请求中间件如何处理并发使用redux-Saga redux-saga是一个管理redux应用异步操作中间件,用于代替 redux-thunk 。...redux-observable额外范式,上⼿简单redux-thunk缺陷:样板代码过多: 与redux本身⼀样,通常⼀个请求需要⼤量代码,⽽且很多都是重复性质耦合严重: 异步操作redux...时,该action函数体会自动执行 store.dispatch(action)}(2)使用redux-saga中间件redux-saga优点:异步解耦: 异步操作被被转移到单独 saga.js...和⼀整套思想体积庞⼤: 体积略⼤,代码近2000⾏,min版25KB左右功能过剩: 实际上并发控制等功能很难⽤到,但是我们依然需要引⼊这些代码ts⽀持不友好: yield⽆法返回TS类型redux-saga

4K40

React之redux学习日志(reduxreact-reduxredux-saga

使用纯函数执行修改:reducer中,应该返回一个纯函数,函数接受先前 state和action, 然后返回一个新 state 3....当我们需要执行一些异步操作时,由于action中只能返回一个对象,从而需要借助一些中间件来达到目的,redux-thunk 和 redux-saga是常见两种中间件。   ...redux-thunk 主要是使action能够返回一个函数而达到目的,这样导致了action函数变得复杂   redux-saga 可以将异步操作单独分离出来封装到某些模块,这样保证action函数更加干净...' // 以下saga个人项目中使用到 import headNavigationBarSagas from '@/commponents/HeadNavigationBar/store/sagas...、react-redux基本用法和redux-saga中间件使用,若有错误请各路大佬指出加以改正和学习 智者说话,是因为他们有话要说;愚者说话,则是因为他们想说。

53330

深入理解 redux 数据流和异步过程管理

这样数据流动是单向,清晰,很容易管理。 这就像为什么我们在公司里想要什么权限都要走审批流,而不是直接找某人,一样道理。集中管理流程比较清晰,而且还可以追溯。...redux 提供中间件机制是不是可以用来放这些异步过程呢?...不是的。generator 执行后返回是一个 iterator,需要另外一个程序调用 next 方法才会继续执行。所以怎么执行、是否继续执行都是由另一个程序控制。...所以做特别复杂异步流程处理时候,redux-observable 能够利用 rxjs 操作优势会更明显。...但是 redux-saga 优点还有基于 generator 良好可测试性,而且大多数场景下,redux-saga 提供异步过程处理能力就足够了,所以相对来说,redux-saga更多一些

2.4K10

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券