Skip to content

Commit

Permalink
AutoCorrect files/zh-cn/learn/javascript
Browse files Browse the repository at this point in the history
  • Loading branch information
huacnlee committed Jun 8, 2022
1 parent 0a78ab2 commit 310e59f
Show file tree
Hide file tree
Showing 40 changed files with 1,214 additions and 1,214 deletions.
4 changes: 2 additions & 2 deletions files/zh-cn/learn/javascript/asynchronous/index.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: 异步JavaScript
title: 异步 JavaScript
slug: Learn/JavaScript/Asynchronous
tags:
- JavaScript
Expand Down Expand Up @@ -30,7 +30,7 @@ original_slug: learn/JavaScript/异步
## 预备知识

异步 JavaScript 是一个相当高级的话题,建议你先完成 [JavaScript 第一步](/zh-CN/docs/Learn/JavaScript/First_steps)[创建JavaScript代码块](/zh-CN/docs/Learn/JavaScript/Building_blocks) 两个模块的学习后再来学习。
异步 JavaScript 是一个相当高级的话题,建议你先完成 [JavaScript 第一步](/zh-CN/docs/Learn/JavaScript/First_steps)[创建 JavaScript 代码块](/zh-CN/docs/Learn/JavaScript/Building_blocks) 两个模块的学习后再来学习。

> **备注:** 如果你工作在一个无权创建自己文件的电脑/平板/其他设备上,你需要在一个在线编程工具上试验(大多数)代码示例,如 [JSBin](https://jsbin.com/) 或者 [Glitch](https://glitch.com).
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ original_slug: learn/JavaScript/异步/简介

## 同步编程

观察下面的代码:
观察下面的代码

```js
const name = 'Miriam';
Expand All @@ -49,7 +49,7 @@ console.log(greeting);
// "Hello, my name is Miriam!"
```

这段代码:
这段代码

1. 声明了一个叫做 `name` 的字符串常量
2. 声明了另一个叫做 `greeting` 的字符串常量(并使用了 `name` 常量的值)
Expand Down Expand Up @@ -259,7 +259,7 @@ function doOperation() {
doOperation();
```

现在我们有一个被分成三步的操作,每一步都依赖于上一步。在这个例子中,第一步给输入的数据加1,第二步加2,第三步加3。从输入0开始,最终结果是6(0+1+2+3)。作为同步代码,这很容易理解。但是如果我们用回调来实现这些步骤呢?
现在我们有一个被分成三步的操作,每一步都依赖于上一步。在这个例子中,第一步给输入的数据加 1,第二步加 2,第三步加 3。从输入 0 开始,最终结果是 6(0+1+2+3)。作为同步代码,这很容易理解。但是如果我们用回调来实现这些步骤呢?

```js
function doStep1(init, callback) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -143,7 +143,7 @@ textarea {
// 在 "generate.js" 中创建一个新的 worker
const worker = new Worker('./generate.js');

// 当用户点击 "Generate primes" 时, 给 worker 发送一条消息。
// 当用户点击 "Generate primes" 时给 worker 发送一条消息。
// 消息中的 command 属性是 "generate", 还包含另外一个属性 "quota",即要生成的质数。
document.querySelector('#generate').addEventListener('click', () => {
const quota = document.querySelector('#quota').value;
Expand Down Expand Up @@ -216,7 +216,7 @@ worker 要做的第一件事情就是开始监听来自主脚本的消息。这

`generatePrimes()` 函数与同步版本类似,只不过我们在完成后向主脚本发送一条消息,而不是返回一个值。我们对此使用 {{DOMxRef("dedicatedWorkerGlobalScope.postMessage()", "postMessage()")}} 函数,就像在 worker 中 `addEventListener`是全局函数一样。如我们所见,主脚本正在监听这条消息并且将会在收到消息后更新 DOM。

> **备注:** 要运行此站点,你必须运行一个本地 web 服务器,因为 file:// URLs 不允许加载 workers。参考我们的[设置一个本地测试服务器](/zh-CN/docs/Learn/Common_questions/set_up_a_local_testing_server)的指导。完成后,你应该可以点击 "Generate primes" 并且使你的主页面保持响应。
> **备注:** 要运行此站点,你必须运行一个本地 web 服务器,因为 file:// URLs 不允许加载 workers。参考我们的 [设置一个本地测试服务器](/zh-CN/docs/Learn/Common_questions/set_up_a_local_testing_server) 的指导。完成后,你应该可以点击 "Generate primes" 并且使你的主页面保持响应。
> 如果你在创建和运行这个样例的过程中有疑问,你可以在 [https://github.com/mdn/learning-area/blob/main/javascript/asynchronous/workers/finished](https://github.com/mdn/learning-area/blob/main/javascript/asynchronous/workers/finished) 查看完成后的版本,并且在 [https://mdn.github.io/learning-area/javascript/asynchronous/workers/finished](https://mdn.github.io/learning-area/javascript/asynchronous/workers/finished) 进行在线尝试。
## 其他类型的 worker
Expand All @@ -232,7 +232,7 @@ worker 要做的第一件事情就是开始监听来自主脚本的消息。这

在本文中,我们介绍了 web workers,它使得 web 应用能够离线加载任务到单独的线程中。主线程和 worker 不直接共享任何变量,但是可以通过发送消息来进行通信,这些消息作为 `message` 事件被对方接受。

Workers 尽管不能访问主应用程序能访问的所有 API,尤其是不能访问 DOM, 但是可以作为使主应用程序保持响应的一个有效的方式。
Workers 尽管不能访问主应用程序能访问的所有 API,尤其是不能访问 DOM,但是可以作为使主应用程序保持响应的一个有效的方式。

## 参见

Expand Down
Loading

0 comments on commit 310e59f

Please sign in to comment.