fly63前端网

www.fly63.com

首页文章资源工具教程 栏目
  • 关于我们
  • 网站投稿
  • 赞助一下
搜索

在线工具_工作生活好帮手

打造各种简单、易用、便捷的在线工具,网友无需注册和下载安装即可使用

点击查看

关闭

提交网站

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

扫一扫分享

网站地址:https://effect.website/
GitHub:https://github.com/Effect-TS/effect
网站描述:一个给力的 TS 库,旨在辅助开发者轻松创建复杂的同步和异步程序
Effect,这是一个功能强大的 TypeScript 框架,它提供了成熟的功能效果系统和丰富的标准库。

Effect 的幕后动机是辅助开发者通过所谓的结构化并发,一种允许多个复杂操作同时运行的编程范式,构建鲁棒可扩展的 App。


使用要求

TypeScript 5.0 或更高版本

文件strict中启用的标志tsconfig.json

{
// ...
"compilerOptions": {
// ...
"strict": true,
}
}


使用对比

随着应用程序的增长,Effect 也会随之扩展,从而保持代码的简洁性和可维护性。

没有使用Effect

async function getTodo(
id: number
): Promise<
| { ok: true; todo: any }
| { ok: false; error: "InvalidJson" | "RequestFailed" }
> {
try {
const response = await fetch(`/todos/${id}`)
if (!response.ok) throw new Error("Not OK!")
try {
const todo = await response.json()
return { ok: true, todo }
} catch (jsonError) {
return { ok: false, error: "InvalidJson" }
}
} catch (error) {
return { ok: false, error: "RequestFailed" }
}
}

使用Effect

const getTodo = (
id: number
): Effect.Effect<unknown, HttpClientError> =>
Http.request.get(`/todos/${id}`).pipe(
Http.client.fetchOk(),
Http.response.json,
)


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

more>>
相关栏目
react
Facebook开发的一款高效、灵活、声明式设计的JS库
官网GitHub
AngularJS
Google推出有条理,可维护,易编程的MVVM框架
官网GitHub
backbone
提供:模型、集合、视图,开发重量级的javascript应用的框架
官网GitHub
jquery
一个快速、简洁的JavaScript代码库
官网GitHub
zepto.js
一个轻量级的针对现代高级浏览器的JavaScript库
官网GitHub
Ember
JavaScript MVC框架,它用来创建复杂的Web应用程序,消除了样板
官网GitHub
nw.js
轻量级桌面应用开发的捷径
官网GitHub
socket.io
一个WebSocket库,包括了客户端的js和服务器端的nodejs
官网GitHub
petite-vue
vue的可替代发行版,针对渐进式增强进行了优化
点击进入GitHub
ocLazyLoad
AngularJS 的延迟加载(惰性加载)模块和组件
官网GitHub
weui.js
WeUI 的轻量级 js 封装
点击进入GitHub
Qatrix
一款超轻量级JS框架
点击进入GitHub
Mootools
大部分浏览器原生对象做了扩展
官网GitHub
enyo.js
强调模块化和封装的Js应用程序框架
点击进入GitHub
workbox
谷歌推进的 web 应用新模型,将网站升级成 PWA
官网GitHub
Senna.js
快速单页应用程序引擎
官网GitHub

手机预览