Skip to content

Commit 0815a90

Browse files
KimYangOfCatwxsmsJohnieXu
authored
docs: review src/guide/components/async.md (vuejs#114)
* docs: review async.md * Apply suggestions from code review Co-authored-by: wxsm <[email protected]> * Apply suggestions from code review Co-authored-by: JohnieXu <[email protected]> * chore: apply some suggestions and update translations * chore: update Co-authored-by: wxsm <[email protected]> Co-authored-by: JohnieXu <[email protected]>
1 parent 8283ba5 commit 0815a90

File tree

1 file changed

+11
-11
lines changed

1 file changed

+11
-11
lines changed

src/guide/components/async.md

+11-11
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
## 基础使用 {#basic-usage}
44

5-
在大型项目中,我们可能需要拆分应用为更小的块,并仅在需要时再从服务器加载。要做到这一点,Vue 提供了一个 [`defineAsyncComponent`](/api/general.html#defineasynccomponent) 方法:
5+
在大型项目中,我们可能需要拆分应用为更小的块,并仅在需要时再从服务器加载相关组件。为实现这点,Vue 提供了一个 [`defineAsyncComponent`](/api/general.html#defineasynccomponent) 方法:
66

77
```js
88
import { defineAsyncComponent } from 'vue'
@@ -16,9 +16,9 @@ const AsyncComp = defineAsyncComponent(() => {
1616
// ... 像使用其他一般组件一样使用 `AsyncComp`
1717
```
1818

19-
如你所见,此方法接收一个返回 Promise 的加载函数。这个 Promise 的 `resolve` 回调方法应该在从服务器获得组件定义时调用。我们也可以在调用 `reject(reason)` 表明加载失败。
19+
如你所见,`defineAsyncComponent` 方法接收一个返回 Promise 的加载函数。这个 Promise 的 `resolve` 回调方法应该在从服务器获得组件定义时调用。你也可以调用 `reject(reason)` 表明加载失败。
2020

21-
[ES 模块动态导入](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import#dynamic_imports)也会返回一个 Promise,所以多数情况下我们会将其和 `defineAsyncComponent` 搭配使用,类似 Vite 和 Webpack 这样的构建工具也支持这种语法,因此我们也可以用它来导入 Vue 单文件组件:
21+
[ES 模块动态导入](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import#dynamic_imports)也会返回一个 Promise,所以多数情况下我们会将它和 `defineAsyncComponent` 搭配使用,类似 Vite 和 Webpack 这样的构建工具也支持这种语法,因此我们也可以用它来导入 Vue 单文件组件:
2222

2323
```js
2424
import { defineAsyncComponent } from 'vue'
@@ -28,7 +28,7 @@ const AsyncComp = defineAsyncComponent(() =>
2828
)
2929
```
3030

31-
最后得到的 `AsyncComp` 是一个被包裹了的组件,仅在页面需要它渲染时才调用加载函数。另外,他还会将 props 传给内部的组件,因此,你可以使用这个异步的包裹组件无缝地替换原始组件,同时实现延迟加载。
31+
最后得到的 `AsyncComp` 是一个包裹组件,仅在页面需要它渲染时才调用加载函数。另外,它还会将 props 传给内部的组件,所以你可以使用这个异步的包裹组件无缝地替换原始组件,同时实现延迟加载。
3232

3333
<div class="options-api">
3434

@@ -51,7 +51,7 @@ export default {
5151

5252
## 加载与错误状态 {#loading-and-error-states}
5353

54-
异步操作不可避免地会涉及到加载和错误状态,因此 `defineAsyncComponent()` 也支持在选项中处理这些状态
54+
异步操作不可避免地会涉及到加载和错误状态,因此 `defineAsyncComponent()` 也支持在高级选项中处理这些状态
5555

5656
```js
5757
const AsyncComp = defineAsyncComponent({
@@ -60,21 +60,21 @@ const AsyncComp = defineAsyncComponent({
6060

6161
// 加载异步组件时使用的组件
6262
loadingComponent: LoadingComponent,
63-
// 展示加载完成的组件前的延迟,默认为 200ms
63+
// 展示加载组件前的延迟时间,默认为 200ms
6464
delay: 200,
6565

6666
// 加载失败后展示的组件
6767
errorComponent: ErrorComponent,
68-
// 如果提供了一个 timeout 时间限制,并超过了该时间
69-
// 也会显示报错组件
68+
// 如果提供了一个 timeout 时间限制,并超时了
69+
// 也会显示这里配置的报错组件,默认值是:Infinity
7070
timeout: 3000
7171
})
7272
```
7373

74-
如果提供了一个加载组件,它将在加载内部组件时首先显示。在加载组件显示之前有一个默认的 200ms 延迟这是因为在网络状况较好时,加载完成得太快导致最终组件的替换可能看起来像是闪烁。
74+
如果提供了一个加载组件,它将在内部组件加载时先行显示。在加载组件显示之前有一个默认的 200ms 延迟——这是因为在网络状况较好时,加载完成得太快导致最终组件的替换可能看起来像是闪烁。
7575

76-
如果提供了一个报错组件,当加载器函数返回的 Promise 被 reject 时,它将被显示出来。你还可以指定一个超时时间,在请求花费太长时间后显示
76+
如果提供了一个报错组件,当加载器函数返回的 Promise 被 reject 时,它将被显示出来。你还可以指定一个超时时间,在请求耗时过长时显示报错组件
7777

7878
## 搭配 Suspense 使用 {#using-with-suspense}
7979

80-
异步组件可以搭配内置的 `<Suspense>` 组件一起使用,若想了解 `<Suspense>` 和异步组件之间交互,请参阅文档中 [`<Suspense>`](/guide/built-ins/suspense.html) 这一章
80+
异步组件可以搭配内置的 `<Suspense>` 组件一起使用,若想了解 `<Suspense>` 和异步组件之间交互,请参阅文档中 [`<Suspense>`](/guide/built-ins/suspense.html) 章节

0 commit comments

Comments
 (0)