Web前端开发网

fly63.com

首页 资源 工具 文章 教程 栏目
  • 在线搜索
  • 文章标签
  • 广告合作
  • 赞助一下
  • 关于我们
资源推荐
仙宫云
GPU算力租赁,云算力在线租赁平台
Trae
字节跳动推出的 AI原生编程工具
免费资源下载中心
一站式解决工作学习需求的宝藏网站
AiPPT
全智能AI一键生成 PPT
购物快捷导航
一站式解决网购需求的智能平台
友情链接交易
为广大站长提供友情链接买卖、软文交易等服务
即梦AI
一站式智能创作平台,即刻造梦
堆友AI
零门槛,多风格AI绘画免费生成,电商海报设计神器
奇绘馆AI视频
新一代AI视频创作平台
硅云优惠券
领先的基础云计算服务提供商,PHP云虚拟主机第一品牌

资源分类

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的资源
carlo
为Node程序提供了由Google Chrome浏览器提供支持的丰富渲染功能
点击进入
GitHub
yargs
yargs模块来开发自己的命令行工具集合
官网
GitHub
NeDB
用JavaScript编写的嵌入式数据库
点击进入
GitHub
NodeRed
构建物联网(IOT, Internet of Things)应用程序的一个强大工具
官网
GitHub
Electrode
一个用于构建通用 React / Node.js 应用程序的平台
点击进入
GitHub
Nodal.js
一个可扩展的,以意见为依据的全服务框架
官网
GitHub
svg-captcha
svg 图片验证码
点击进入
GitHub
rebridge
Redis的透明Javascript接口
点击进入
GitHub
目录

手机扫一扫预览

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

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