异步处理
redux 异步处理的中间件现在很多,有 thunk, promise, saga, observable, rx 等,真的是太多了。
如果你非常非常清楚用哪个库,那随便用就是了。否则,我个人认为目前来说 redux-thunk 已经足够好了.
继续阅读 »
十多年来,我们一直使用 XMLHttpRequest(XHR)来发送异步请求,XHR 很实用,但并不是一个设计优良的 API,在设计上并不符合职责分离原则,输入、输出以及状态都杂糅在同一对象中,并用事件机制来跟踪状态变化。并且,基于事件的模型与最近流行的 Promise 和 generator 异步编程模型不太友好。
Fetch API 旨在修正上述缺陷,它提供了与 HTTP 语义相同的 JS 语法,简单来说,它引入了 fetch() 这个实用的方法来获取网络资源。
在 Fetch 规范中对 API 进行了定义,它结合 ServiceWorkers,尝试做到如下优化:
改善离线体验
保持可扩展性
写这篇文章时,Fetch AP
继续阅读 »
写在前面
fetch 同 XMLHttpRequest 非常类似,都是用来做网络请求。但是同复杂的XMLHttpRequest的API相比,fetch使用了Promise,这让它使用起来更加简洁,从而避免陷入"回调地狱"。
两者比较
比如,如果我们想要实现这样一个需求:请求一个URL地址,获取响应数据并将数据转换成JSON格式。使用fetch和XMLHttpRequest实现的方式是不同的。
more
使用XMLHttpRequest实现
使用XMLHttpRequest来实现改功能需要设置两个监听函数,分别用来处理成功和失败的情况,同时还需要依次调用open()和send()方法才能实现请求。
```
functio
继续阅读 »