Web前端开发网

fly63.com

首页 资源 工具 文章 教程 栏目
  • 在线搜索
  • 文章标签
  • 广告合作
  • 赞助一下
  • 关于我们
资源推荐
fly63工具箱
简单、易用、便捷的在线工具
免费资源下载中心
一站式解决工作学习需求的宝藏网站
美图设计室
AI智能一键生成海报,免费平面设计
iSlide
让PPT设计简单起来,PPT模板下载平台
Seedance 2.0
字节跳动新一代AI视频生成模型全面解析
豆包AI
字节跳动旗下 AI 智能助手
爱派AiPy
一款可本地部署的AI智能体,帮你操作电脑、手机、服务器设备
蜂小推
不扣量的项目推广平台
星月写作
人工智能写作助手
扣子Coze
职场AI,就用扣子

资源分类

AI智能 酷站推荐 招聘/兼职 框架/库 模块/管理 移动端UI框架 Web-UI框架 Js插件 Jquery插件 CSS相关 IDE环境 在线工具 图形动效 游戏框架 node相关 调试/测试 在线学习 社区/论坛 博客/团队 前端素材 图标/图库 建站资源 设计/灵感 IT资讯
网站收录 / 问题反馈

undici

分享
复制链接
新浪微博
QQ 好友

扫一扫分享

网站地址:https://undici.nodejs.org/
GitHub:https://github.com/nodejs/undici
描述信息:一个新的 Node.js相关的http请求库
访问官网
GitHub

undici 从头开始为Node.js编写的HTTP / 1.1客户端。 Undici在意大利语中的含义是11。 1.1-> 11-> 11-> Undici。 它也是《陌生人事物》参考。 undici,它比内置的 HTTP 模块还要快,undici 团队致力于为 Node.js 开发快速、可靠且符合规范的 HTTP 客户端。


背景

“很多人仍然问我们为什么要构建 Node.js 核心 HTTP 堆栈的替代品——虽然它对他们来说效果很好。现实情况是,Node.js 核心 HTTP 堆栈存在基本设计问题,如果不破坏 API,就无法克服这些问题。在不破坏我们的大多数用户的情况下,我们无法修复某些错误或性能瓶颈——无论是在客户端还是服务器实现上,因为它们紧密相连。” 


上手

我们可以直接通过 npm 来安装 undici:

npm install undici -S

undici 对外暴露一个对象,该对象下面提供了几个 API:

  • undici.fetch:发起一个请求,和浏览器中的 fetch 方法一致;
  • undici.request:发起一个请求,和 request 库有点类似,该方法支持 Promise;
  • undici.stream:处理文件流,可以用来进行文件的下载;


基准测试

下面是一个在 Node.js 16 上做的一个基准测试,通过与最慢的数据做对比,之间相差还是挺大的。

Connections 1

TestsSamplesResultToleranceDifference with slowest
http - no keepalive154.63 req/sec± 2.77 %-
http - keepalive104.81 req/sec± 2.16 %+ 3.94 %
undici - stream2562.22 req/sec± 2.67 %+ 1244.58 %
undici - dispatch1564.33 req/sec± 2.47 %+ 1290.24 %
undici - request1566.08 req/sec± 2.48 %+ 1327.88 %
undici - pipeline1066.13 req/sec± 1.39 %+ 1329.08 %

Connections 50

TestsSamplesResultToleranceDifference with slowest
http - no keepalive503546.49 req/sec± 2.90 %-
http - keepalive155692.67 req/sec± 2.48 %+ 60.52 %
undici - pipeline258478.71 req/sec± 2.62 %+ 139.07 %
undici - request209766.66 req/sec± 2.79 %+ 175.39 %
undici - stream1510109.74 req/sec± 2.94 %+ 185.06 %
undici - dispatch2510949.73 req/sec± 2.54 %+ 208.75 %


实例

import { request } from 'undici'

const {
statusCode,
headers,
trailers,
body
} = await request('http://localhost:3000/foo')

console.log('response received', statusCode)
console.log('headers', headers)

for await (const data of body) {
console.log('data', data)
}

console.log('trailers', trailers)


仅供个人学习参考/导航指引使用,具体请以第三方网站说明为准,本站不提供任何专业建议。如果地址失效或描述有误,请联系站长反馈~感谢您的理解与支持!

链接: https://fly63.com/nav/3412

更多»
热门资源
node
一个基于 Chrome V8 引擎的 JavaScript 运行环境
官网
GitHub
Express
基于 Node.js 平台,快速、开放、极简的 web 开发框架
官网
GitHub
pm2
pm2 是一个带有负载均衡功能的Node应用的进程管理器
官网
GitHub
Koa
基于 Node.js 平台的下一代 web 开发框架
官网
GitHub
Egg.js
为企业级框架和应用而生
官网
GitHub
Primus
通用包装器实时框架
点击进入
GitHub
Electrode
一个用于构建通用 React / Node.js 应用程序的平台
点击进入
GitHub
faye-websocket
Node.js 应用程序中命令预先存在的 WebSocket 连接
点击进入
GitHub
vm2
一个Node.js 官方 vm 库的替代品
点击进入
GitHub
node-opencv
node视觉算法库
官网
GitHub
node-xml2js
Json与xml相互转化的工具
点击进入
GitHub
node-red
一套开源可视化界面开发工具
官网
GitHub
类似于undici的资源
pandora
Node.js程序强大而轻量级的应用程序管理器
官网
GitHub
COOL-AI
基于Electron PC版小程序
官网
Kraken.js
基于 express 构建,实现对环境变量的感知、动态配置、高级中间件和应用生命周期的事件通知
官网
GitHub
Inquirer.js
NodeJs交互式命令行工具
点击进入
GitHub
Umajs
轻量级 Node.js Web 框架
官网
GitHub
avn
Node.js的自动版本切换
点击进入
GitHub
Egg.js
为企业级框架和应用而生
官网
GitHub
svgo
一个基于 Nodejs 的 SVG 矢量图形优化工具
点击进入
GitHub
目录

手机扫一扫预览

》
分享组件加载中...
首页 技术导航 在线工具 技术文章 教程资源 前端标签 AI工具集 前端库/框架 实用工具箱 广告合作 关于我们

Copyright © 2018 Web前端开发网 All Rights Reserved. 提供免费在线工具、编程学习资源(教程/框架/库),内容以学习参考为主,助您解决各类实际问题,快速提升专业能力。