From 93771f2ba54f03610d1f0bc2917f4e1fd8eb8397 Mon Sep 17 00:00:00 2001 From: JackLiR8 Date: Fri, 24 Sep 2021 15:37:49 +0800 Subject: [PATCH] docs: fix typo in zh docs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `setTimeout` callbacks are processed in macrotask queue which shoud be translated as '宏任务队列' --- docs/zh/guides/testing-async-components.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/zh/guides/testing-async-components.md b/docs/zh/guides/testing-async-components.md index 5297233bf..1178e1f5d 100644 --- a/docs/zh/guides/testing-async-components.md +++ b/docs/zh/guides/testing-async-components.md @@ -112,7 +112,7 @@ it('fetches async when a button is clicked', done => { }) ``` -setTimeout 也可以使测试通过的原因是,Promise 回调的微任务队列会排在 setTimeout 回调的微任务队列之前。这意味着当 setTimeout 回调执行时,微任务队列上的所有 Promise 回调已经被执行过了。另一方面,`$nextTick` 也存在调度微任务的情况,但是由于微任务队列是先进先出的,因此也保证了在进行断言时已经处理完所有的 Promise 回调。请参阅[此处](https://jakearchibald.com/2015/tasks-microtasks-queues-and-schedules/)了解更多详细说明。 +setTimeout 也可以使测试通过的原因是,Promise 回调的微任务队列会在 setTimeout 回调的(宏)任务队列之前执行。这意味着当 setTimeout 回调执行时,微任务队列上的所有 Promise 回调已经被执行过了。另一方面,`$nextTick` 也存在调度微任务的情况,但是由于微任务队列是先进先出的,因此也保证了在进行断言时已经处理完所有的 Promise 回调。请参阅[此处](https://jakearchibald.com/2015/tasks-microtasks-queues-and-schedules/)了解更多详细说明。 另外一个使用 `async` 方法的解决方案是使用类似 [flush-promises](https://www.npmjs.com/package/flush-promises) 的包。`flush-promises` 会刷新所有处于 pending 状态或 resolved 状态的 Promise。你可以用 `await` 语句来等待 `flushPromises` 刷新 Promise 的状态,这样可以提升你代码的可读性。