JS:
Stream API
解析
文章目录JS:
Stream API
解析正文1.
Stream 概念 & 类型2. Re
adableStream3. Writa
bleStream4. pipeTo 传递数据4.1 自定义流对接4.2 pipeTo5. Transform
Stream & pipeThrough5.1 Transform
Stream 的创建5.2 自定义流通道5.3 Transform
Stream + pipeThrough6. 应用其他资源参考连接完整代码示例
前端工程中发送 HTTP 请求从来都不是一件容易的事,前有骇人的ActiveXObject,后有 API 设计十分别扭的XMLHttpRequest,甚至这些原生 API 的用法至今仍是很多大公司前端校招的考点之一。
也正是如此,fetch 的出现在前端圈子里一石激起了千层浪,大家欢呼雀跃弹冠相庆恨不得马上把项目中的$.ajax全部干掉。然而,在新鲜感过后, fetch 真的有你想象...
我们在做项目的时候可能会遇到一些需要导入导出excel数据的功能,网上看到一个开源的插件可以实现相关的功能,于是今天就花了点时间看了下这个插件的一些使用。
插件github地址:https://github.com/SheetJS/js-xlsx/
参考文章:https://www.cnblogs.com/liuxianan/p/js-excel.html
代码如下:
<!DOCT...
Fetch
Fetch API 提供了一个 JavaScript 接口,用于访问和操纵 HTTP 管道的一些具体部分,例如请求和响应。它还提供了一个全局 fetch() 方法,该方法提供了一种简单,合理的方式来跨网络异步获取资源。
Fetch 提供了对 Request 和 Response 对象的通用定义。使之今后可以被使用到更多地应用场景中:无论是 service worker、Cache API、又或者是其他处理请求和响应的方式,甚至是任何一种需要你自己在程序中生成响应的方式。
它同时还为
1. 将Base64字符串解码为二进制数据,可以使用`atob()`函数。
2. 创建一个Blob对象,将二进制数据传入其中。
3. 创建一个URL对象,使用`URL.createObjectURL()`函数将Blob对象转为URL。
4. 创建一个FileReader对象,使用`re
adAsArrayBuffer()`函数读取URL对象。
5. 在FileReader对象的`onloadend`事件中获取文件流。
以下是示例代码:
```
javascript
function base64ToBlob(base64) {
const binaryStr = atob(base64);
const len = binaryStr.length;
const bytes = new Uint8Array(len);
for (let i = 0; i < len; i++) {
bytes[i] = binaryStr.charCodeAt(i);
return new Blob([bytes]);
function base64ToFile
Stream(base64) {
const blob = base64ToBlob(base64);
const url = URL.createObjectURL(blob);
const reader = new FileReader();
reader.re
adAsArrayBuffer(blob);
reader.onloadend = function() {
const file
Stream = new Re
adableStream({
start(controller) {
controller.enqueue(reader.result);
controller.close();
// do something with file
Stream
在上面的示例代码中,`base64ToBlob()`函数将Base64字符串解码为Blob对象,`base64ToFile
Stream()`函数将Blob对象转为文件流。最终的文件流在`file
Stream`变量中,可以根据需求进行后续处理。