首页 > 其他分享 >2023-12-30

2023-12-30

时间:2023-12-30 09:11:07浏览次数:31  
标签:12 const handel 中间件 30 ctx next 2023 middlewares

2023-12-30

尝试了一下实现中间件,运行那块的函数是请教 chatGPT[1] 得到的,自己之前想的一团乱麻,结果如此简洁。

// 最小中间件实现
// 存储所有中间件
let middlewares: middlewares[] = []
type handel = typeof handel
//   对于纯函数而言,参数就是他的上下文
type middlewares = (ctx: Parameters<handel>, next: handel) => ReturnType<handel>
// 最终处理事物的函数
function handel(a: number) {
    return (a + 1)
}
// 某个中间件
const middlewareA: middlewares = (ctx, next) => {
    // 处理上下文
    const newCtx = ctx.map(v => v + v)
    // 让其他中间件继续处理
    const value = next(newCtx[0])
    // 处理返回值
    return value + 1
}
// 运行中间件
function runMiddlewareHandel(ctx: Parameters<handel>, handel: handel) {
    let index = 0
    const next = (...ctx: Parameters<handel>) => {
        const middleware = middlewares[index]
        index++
        if (middleware) {
            return middleware(ctx, next)
        } else { // 在没有中间件的情况下直接运行最终函数
            return handel(...ctx)
        }
    }
    return next(...ctx)
}
// 注册中间件
middlewares.push(middlewareA)
// 运行 
console.log(handel(1), runMiddlewareHandel([1], handel))

  1. chatGPT

    国内使用多有不易

    此处推荐一个 gpt key 购买网站 - https://console.closeai-asia.com/

    image

    通过上面的链接购买我能够得到一点利润,如下

    image

    ↩︎

标签:12,const,handel,中间件,30,ctx,next,2023,middlewares
From: https://www.cnblogs.com/szpq/p/20231230-18oexa.html

相关文章

  • 【专题】2023年中国消费者洞察白皮书报告PDF合集分享(附原数据表)
    全文链接:https://tecdat.cn/?p=33375原文出处:拓端数据部落公众号在疫情后的时代,中国的消费市场正在逐步复苏。政策和社会共同努力,全面提振消费者的信心。与此同时,供给侧正在采用新的内容营销模式,品牌、电商直播和信息平台注重科普专业知识,将品质和创新作为核心竞争力。居民消费......
  • 2023-2024元旦联欢会小记
    Day-2gg说放假,终于能确定回来了。Day-1开始摆烂,但是还是在学习淀粉质。怎么说看了付姐的朋友圈,看到大家在包饺子,又错过一个活动怎么说。gg说开茶话会。高一同学:茶话会?不,是鸿门宴。真的是晚会!唱了首《稻香》。感觉回到了高一在班里一起唱歌。晚会在情侣合体的时候达到了......
  • 12/29每日总结
    数据的最小单位是数据项归并排序落单丢掉substr(str,int,int)意思是str的第int开始的int个字符层次遍历初始堆无法保证得到一个有序的序列,因为堆的兄弟结点之间无序创建邻接表的时间复杂度无向图中有n个结点e条边,建立该图邻接表的平均时间复杂度为O(n+e)深度为k的完全二叉树中最少......
  • 12.29每日总结
    今天接着写了软件企业文化大作业沟通方式 4.1企业沟通的定义和目的企业沟通是对组织内部以及组织与其利益相关者之间的沟通进行深思熟虑和有计划的管理。该过程包括信息、消息和政策的创建和分发,旨在维护统一且有凝聚力的企业形象。企业沟通的主要目标是与内部和外部受众建......
  • 【2023.12.29】修复服务器小记录,重装Proxmox
    半年没碰服务器了,没想到还是挂了,卡在BIOS过不去NUC因为没有主板电池,所以还特地找了下怎么重置,没想到是拔出主板上的黄色保护器,使两个针脚空接和我想象中的不太一样,照理来说应该是针脚对接,才能重置才对因为这样子的话,这个黄色保护套就不能随意丢弃了,感觉这个主板的设计有问题折......
  • 再传捷报!百望云荣登投资家网“2023年度企业服务领域创新企业TOP20”
    近日,投资家网旗下投资家研究院重磅发布“投资家网·2023中国价值企业榜”。经过层层严格评选,百望云荣登“2023年度企业服务领域创新企业TOP20”,再次说明了业界权威机构认可百望云的创新能力和市场价值。本次评选,投资家网旗下投资家研究院本着客观公正的态度,从成长、创新、融资、专......
  • 2023 年终总结
    重逢会有期,蹒跚又一年难得疫情缓和,三年没回国,这次回去呆了一阵子。免不了的走亲访友,大快朵颐,直接导致体重暴增5公斤!人的情感真是微妙,山水相隔自是思念,但相见后的离别更是让人痛苦,可见“相忘于江湖”虽然显得冷漠,却是真的洒脱。眼看年底,抽时间去医院做了健康检查,血压高、眼压高......
  • OpenDiary 23.12
    好,这次从圣诞节开始写然而圣诞啥也没干,也没写日寄,摸了前情回顾12月我都干啥了?(乱序叙事)考了几门烂试。坏转cs。奇怪计算机综合,口胡了四个暴力结束了。怪读了点书,但不多。语文期末大论特论的时候还用上了两句。行收到了龙龙的寄,好买了!赢!漫画真是好东西,......
  • 每日总结12.29
    今天完成了绩效考核模块的原型制作和部分软件需求规格说明书的内容:系统生产管理和绩效考核模块的需求的原因和起源:生产管理模块需求的起源:1.市场竞争和效率提升:随着市场竞争的加剧,企业需要提高生产效率和管理能力,以降低成本、提高产量和质量。生产管理模块可以帮助优化生产计划......
  • 12.27~12.29闲话暨三调寄录
    打了场模拟赛,又垫底了12.27语文 94pts写的挺迷的,前面写的时候慢的要死,本来就没咋给作文留时间,但是一看45分钟其实还好然后首先就是用了5分钟构思+写题目再就是用20分钟写了前200个字,然后惊喜地发现剩下600字就剩20分钟了,然而我给手写炸了也只撰了500......