Jake Archibald׃ In The Loop - JSConf.Asia [Full HD 1080p]-【翻译】JavaScript 中的 Event Loop - Jake Archibald
热门回复:
- 紧果呗:# 🚩 Deno Core
Deno 整个系统架构有多个组成部分,而其中最基础的部分是 Rust 语言实现的 Deno Core,它嵌入了 JavaScript 运行环境 JsRuntime。
脚本编译器采用 SWC - Speedy web compiler,而不是微软官方的 tsc,脚本解析器还是当前最流行的 Google V8 引擎,Deno 核心团队提供了 rust_v8 绑定,通过它可以调用 V8 API,这也是 Deno Core 的主要依赖。
Deno Core 为 Deno's command-line interface (Deno CLI) 提供 V8 API 绑定,即抽象概念为 JsRuntime,提供了 JavaScript 脚本的解析运行支持。
JsRuntime 实现事件循环运行脚本代码,跟踪所有挂起的任务,包括异步操作、动态模块加载等。使用 `JsRuntime::run_event_loop` 能去事件循环是用户的责任,它必须在 Rust 后续的执行器,如 tokio、smol 的上下文中执行。
将 Rust 函数绑定到 JavaScript,通过派发函数 `Deno.core.dispatch()` 触发一个 Rust 回调实现。用户,即 Deno Core 的使用方,负责将 request 或 response 编码为 Uint8Array 数据对象。
- 养鸡场二厂长:感谢up主翻译,很有意思的一个视频,希望up以后多翻译这类的视频[呲牙]
- Arashitake:感谢分享[热词系列_爱了爱了]
- ICYMEMORY:翻译在哪