6_promises
发表于|更新于|Backend Dev
|浏览量:
JS - 承诺 ✅
1. 承诺
承诺代表未来的价值。
国家:
- 待定
- 已满足
- 被拒绝
基本用法
1 | getData().then(data => console.log(data)); |
顺序链接
1 | step1() |
错误处理
1 | login(null) |
并行执行
1 | Promise.all([getUsers(),getProducts()]) |
直接解析
1 | Promise.resolve("Hello").then(console.log); |
下一主题: 获取 API & then/catch
文章作者: xhj
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 xhj的博客!
相关推荐
2025-01-11
Middlerwares
中间件:请求管道 什么是中间件?中间件是位于传入请求和控制器/处理程序之间的函数(或组件)。 它可以: 检查请求 修改请求 阻止请求 修改响应 记录请求 添加安全检查 在你的控制器运行之前。 将中间件视为: 进入主楼前的安全检查站。 🏗 中间件在流程中的位置客户↓中间件1↓中间件2↓中间件3↓控制器(处理程序)↓服务↓存储库↓数据库 每个请求在到达控制器之前都会经过中间件。 为什么需要中间件?没有中间件: 控制器过载 安全逻辑被重复 记录逻辑到处重复 难以执行全球政策 中间件解决: 集中安全 集中记录 集中验证 更清洁的控制器 更好的可扩展性 它解决了什么问题?重复问题而不是在每个控制器中编写身份验证逻辑: 12if not verify_token(): return 401 真实示例流程用户发送请求: 12GET /profileAuthorization: Bearer eyJhbGciOiJIUzI1NiIs... 步骤 1️⃣ CORS 中间件 检查:此前端域是否允许? 如果不是:立即拒绝请求 步骤 2️⃣ 速...
2025-06-14
mooncake_store_analysis
SGLang MooncakeStore 架构分析与 EPD 场景解析 源码路径:python/sglang/srt/mem_cache/storage/mooncake_store/生成日期:2026-04-09 目录 背景概览 目录结构与文件职责 核心类架构图 技术原理深度解析 HiCache 三级存储体系 MooncakeStore 核心工作流 EPD 场景使用详解 配置与部署 性能优势分析 总结 1. 背景概览1.1 什么是 MooncakeMooncake 是一个面向大语言模型推理加速的分布式 KV 缓存系统,其核心目标是: 将集群中多台机器的 DRAM/SSD 聚合为一个大型高速缓存池 利用 (GPUDirect) RDMA 技术实现零拷贝的高带宽数据传输 最大化利用单机多网卡资源,降低跨节点传输延迟 1.2 为什么 SGLang 需要 MooncakeStoreSGLang 内置了 HiCache 分层缓存体系(L1 GPU VRAM → L2 CPU DRAM → L3 远端存储)。对于长上下文、多轮对话和高并发场景,L1/L2 很...
2025-03-05
14_race_conditions
竞争条件(详细概念) 竞赛条件 Kya Hoti Hai? 竞争条件选项卡 hoti hai jab do ya zyada 请求 ek hi 资源 ko 相同的 waqt 访问 kar rahi hoti hain aur 系统 ka 结果计时 pe 取决于 karta hai。 简单示例(注册案例) 场景: 请求A → 检查电子邮件是否存在? → 没有 请求B → 检查电子邮件是否存在? → 没有 3.请求A→保存用户→成功 4.请求B→保存用户→重复尝试 Agar DB 唯一约束 na ho to dono save ho sakte hain。 竞态条件 Kyun 危险海? 重复数据创建ho sakta hai 金融交易双流程ho sakti hain 库存负数ho sakta hai 安全绕过ho sakta hai 4.伊斯卡解决方案 数据库唯一约束 原子操作 交易(主要是关键系统) 正确的错误处理 真正的工程洞察力 竞赛条件开发环境mein kam dikhti hai,lekin生产mein高流量ke时间频繁hoti h...
2025-02-22
subversion-learning
subversion笔记1. 安装1sudo apt install subversion 1sudo yum install subversion 创建版本库1svnadmin create repoPath 启动svn服务器123svnserve -d -r repoRootPath -d 表示后台执行 daemon -r 表示版本库的根目录 root 查看服务是否启动成功1netstat -an | grep 3690 权限控制1.修改仓库下的conf/svnserve.conf1234# 启用auth-access = writepassword-db = passwdauthz-db = authz 2.配置passwd文件12wuyue = testpasstest = test 3.配置authz文件1234567891011[groups]# 指定用户组dev = wuyue,kaifa[/]# 开发用户组拥有读写权限@dev = rw# test用户拥有读权限test = r# 其余用户没有任何权限* = ...
2025-06-15
pr-38061-optimization-analysis
PR #38061 优化分析与 CUDA Graph Token Budget 设置指南 PR: vllm-project/vllm#38061 — [MM][Perf][CG] Support ViT full CUDA graph for Qwen3-VL video inference日期: 2026-03-27 目录 1. PR 总结报告 2. 可优化的地方 3. CUDA Graph 固定开销分析 4. 视频推理 CUDA Graph 性能优化建议 5. Token Budget 设置指南 1. PR 总结报告1.1 总结 (Summary)本 PR 在 PR #35963(仅支持图像推理)的基础上,将 ViT 编码器 CUDA Graph 支持扩展至 Qwen3-VL 的视频推理场景。核心思路是复用图像 CUDA Graph 捕获的计算图来回放视频输入,通过引入 max_frames_per_batch 参数控制 cu_seqlens 缓冲区大小,同时增加模态感知的输入键路由机制(modality_input_keys),使同一个 CUDA Grap...
2025-02-04
C学习路线
C 学习路线 编程语言 计算机基础 数据结构和算法 计算机网络 操作系统 设计模式 项目实战 Linux 操作系统 编译/调试工具 Linux 环境编程 编程语言指针、内存管理 学习书籍:《C Primer Plus》、《C 和指针》、《C 专家编程》 计算机基础数据结构和算法、计算机网络、操作系统、设计模式 数据结构和算法刷题:LeetCode 学习书籍:《大话数据结构》(C/C++)、《算法》(Java)、《剑指 Offer》 计算机网络TCP/IP 协议 学习书籍:《TCP/IP 详解》 操作系统进程和线程(并发、锁)、内存(分布、调度) 学习书籍:《深入理解操作系统》 设计模式常用:单例、工厂、代理、策略、模板方法 学习书籍:《大话设计模式》 项目实战Linux 操作系统常用命令、shell 编程(批处理、自动化脚本) 学习书籍:《鸟哥的 Linux 私房菜》、《Linux 就该这么学》 编译/调试工具编译工具:gcc、make(makefile) 调试工具:gdb 学习资料:GNU 官方 gcc 和 gdb 文...