阮一峰 JavaScript 教程
Math 对象 Date 对象 RegExp 对象 JSON 对象 面向对象编程 实例对象与 new 命令 this 关键字 对象的继承 Object 对象的相关方法 严格模式 异步操作 概述 定时器 Promise 对象 DOM 概述 - 2 - 本文档使用 书栈(BookStack.CN) 构建 致谢 当前文档 《阮一峰 JavaScript 教程》 由 进击的皇虫 (1)灵活的语法,表达力强。 JavaScript 既支持类似 C 语言清晰的过程式编程,也支持灵活的 函数式编程,可以用来写并发处理(concurrent)。这些语法特性已 经被证明非常强大,可以用于许多场合,尤其适用异步编程。 JavaScript 的所有值都是对象,这为程序员提供了灵活性和便利 性。因为你可以很方便地、按照需要随时创造数据结构,不用进行麻烦 的预定义。 JavaScript 的标准还在快速进化中,并不断合理化,添加更适用的 2016年6月,《ECMAScript 2016 标准》发布。与前一年发布的版 本相比,它只增加了两个较小的特性。 2017年6月,《ECMAScript 2017 标准》发布,正式引入了 async 函数,使得异步操作的写法出现了根本的变化。 2017年11月,所有主流浏览器全部支持 WebAssembly,这意味着任 何语言都可以编译成 JavaScript,在浏览器运行。 Axel Rauschmayer0 码力 | 540 页 | 3.32 MB | 10 月前3Rust 程序设计语言 简体中文版 1.85.0
的部分构成的并发类型时需要多加小心,以确保 维持其安全保证。“The Rustonomicon” 中有更多关于这些保证以及如何维持它们的信息。 总结 这不会是本书最后一个出现并发的章节:下一章我们会专注于异步编程,并且第二十一章的项 目会在更现实的场景中使用这些概念,而不像本章中讨论的这些小例子。 373/562Rust 程序设计语言 简体中文版 正如之前提到的,因为 Rust 本身很少有处理并发的部分内容,有很多的并发方案都由 过它仍然可以并发工作。借助像线程、进程和异步(async)等工具,计算机可以暂停一个活 动,并在最终切换回第一个活动之前切换到其它活动。在一个有多个 CPU 核心的机器上,它 也可以并行工作。一个核心可以做一件工作的同时另一个核心可以做一些完全不相关的工作, 而且这些工作实际上是同时发生的。 当使用 Rust 中的 async 时,我们总是在处理并发。取决于硬件、操作系统和所使用的异步运 行时(async runtime)– runtime)– 稍后会介绍更多的异步运行时!并发也可能在底层使用了并行。 现在让我们深入理解 Rust 的异步编程实际上是如何工作的!在接下来的章节中,我们将: • 学习如何使用 Rust 的 async 和 await 语法 • 探索如何使用异步模型来解决第十六章中遇到的一些挑战 • 了解多线程和异步如何互补,在很多场景中你甚至可以同时使用两者 377/562Rust 程序设计语言 简体中文版0 码力 | 562 页 | 3.23 MB | 8 天前3廖雪峰JavaScript教程
return undefined; 17. } 18. } 19. }; 用对象的属性来保存状态,相当繁琐。 generator还有另一个巨大的好处,就是把异步回调代码变成“同步”代码。这个好处要等到后面学了 AJAX以后才能体会到。 没有generator之前的黑暗时代,用AJAX时需要这么写代码: 1. ajax('http://url-1', data1 ajax('http://url-3', data3); 5. success(r3); 6. } 7. catch (err) { 8. handle(err); 9. } 看上去是同步的代码,实际执行是异步的。 要生成一个自增的ID,可以编写一个 next_id() 函数: 1. var current_id = 0; 2. 3. function next_id() { 4. current_id 程在执行。 你可能会问,单线程模式执行的JavaScript,如何处理多任务? 在JavaScript中,执行多任务实际上都是异步调用,比如上面的代码: 1. reader.readAsDataURL(file); 就会发起一个异步操作来读取文件内容。因为是异步操作,所以我们在JavaScript代码中就不知道什 么时候操作结束,因此需要先设置一个回调函数: 1. reader.onload0 码力 | 264 页 | 2.81 MB | 10 月前3Comprehensive Rust(简体中文) 202412
3 并发编程:上午练习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320 XIV 并发:下午 326 63 异步 Rust 327 63.1 async/await . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327 63.4 任务 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330 63.5 异步通道 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330 64 Futures Control 65.2 Pin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336 65.3 异步特征 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338 65.4 消除 . . . .0 码力 | 359 页 | 1.33 MB | 10 月前3Python 标准库参考指南 3.11.10
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 960 18 网络和进程间通信 963 18.1 asyncio --- 异步 I/O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 963 18.1.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1133 18.6 signal --- 设置异步事件处理程序 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1134 18.6.1 一般规则 . . . . AIFC 文件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2087 36.2 asynchat --- 异步套接字指令/响应处理程序 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2089 36.2.1 asynchat 示例 . . .0 码力 | 2399 页 | 11.19 MB | 9 月前3Python 标准库参考指南 3.10.15
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 893 18 网络和进程间通信 897 18.1 asyncio --- 异步 I/O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 897 18.1.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1052 18.6 signal --- 设置异步事件处理程序 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1053 18.6.1 一般规则 . . . . AIFC 文件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1931 35.2 asynchat --- 异步套接字指令/响应处理程序 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1933 35.2.1 asynchat 示例 . . .0 码力 | 2207 页 | 10.45 MB | 9 月前3Python 标准库参考指南 3.11.10
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 896 18 网络和进程间通信 899 18.1 asyncio --- 异步 I/O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 899 18.1.1 运行器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1059 18.6 signal --- 设置异步事件处理程序 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1059 18.6.1 一般规则 . . . . . . 和 AIFC 文件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1953 36.2 asynchat --- 异步套接字指令/响应处理程序 . . . . . . . . . . . . . . . . . . . . . . . . . . 1955 36.2.1 asynchat 示例 . . . . .0 码力 | 2248 页 | 11.10 MB | 9 月前3Python 标准库参考指南 3.8.20
可直接替代 threading 模块。 . . . . . . . . . . . . . . . . . . . . . . 847 18 网络和进程间通信 849 18.1 asyncio --- 异步 I/O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 849 18.2 socket . . . . . . . . . . . . 998 18.6 asyncore --- 异步套接字处理器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1002 18.7 asynchat --- 异步套接字指令/响应处理程序 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1006 18.8 signal --- 设置异步事件处理程序 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1008 18.9 mmap --- 内存映射文件支持 . . . . . . . . . . . . . . . . . . . . . . . . .0 码力 | 2052 页 | 9.74 MB | 9 月前3Python 标准库参考指南 3.10.15
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 832 18 网络和进程间通信 835 18.1 asyncio --- 异步 I/O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 835 18.1.1 协程与任务 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 981 18.6 signal --- 设置异步事件处理程序 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 981 18.6.1 一般规则 . . . . . . 和 AIFC 文件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1809 35.2 asynchat --- 异步套接字指令/响应处理程序 . . . . . . . . . . . . . . . . . . . . . . . . . . 1811 35.2.1 asynchat 示例 . . . . .0 码力 | 2072 页 | 10.39 MB | 9 月前3Python 标准库参考指南 3.13
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 948 18 网络和进程间通信 951 18.1 asyncio --- 异步 I/O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 951 18.1.1 运行器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1113 18.6 signal --- 设置异步事件处理器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1113 18.6.1 一般规则 . . . . 静态地获取属性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1857 29.14.7 生成器、协程和异步生成器的当前状态 . . . . . . . . . . . . . . . . . . . . . . . . . 1858 29.14.8 代码对象位标志 . . . . . . . . . .0 码力 | 2246 页 | 11.74 MB | 9 月前3
共 50 条
- 1
- 2
- 3
- 4
- 5