From cf42e8ce7b819d355e75decc29e02405a15f137b Mon Sep 17 00:00:00 2001 From: Yang Lin Date: Sun, 6 Nov 2016 12:02:36 +0800 Subject: [PATCH] =?UTF-8?q?Promise=20->=20=E6=89=BF=E8=AF=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/docs/ts/latest/tutorial/toh-pt4.jade | 30 ++++++++++----------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/public/docs/ts/latest/tutorial/toh-pt4.jade b/public/docs/ts/latest/tutorial/toh-pt4.jade index 89a302db88..c071ffedc7 100644 --- a/public/docs/ts/latest/tutorial/toh-pt4.jade +++ b/public/docs/ts/latest/tutorial/toh-pt4.jade @@ -26,7 +26,7 @@ include ../_util-fns Because data services are invariably asynchronous, we'll finish the chapter with a **!{_Promise}**-based version of the data service. - 因为数据服务通常都是异步的,我们将在本章创建一个基于**Promise**的数据服务。 + 因为数据服务通常都是异步的,我们将在本章创建一个基于**承诺(Promise)**的数据服务。 Run the for this part. @@ -468,7 +468,7 @@ a#child-component ## Async Services and !{_Promise}s - ## 异步服务与Promise + ## 异步服务与承诺 Our `HeroService` returns a list of mock heroes immediately. Its `getHeroes` signature is synchronous @@ -497,17 +497,17 @@ a#child-component We'll use *!{_Promise}s*. - 我们将使用 *Promise* 。 + 我们将使用 *承诺* 。 ### The Hero Service makes a !{_Promise} - ### `HeroService`会生成一个Promise + ### `HeroService`会生成一个承诺 A **!{_Promise}** is ... well it's a promise to call us back later when the results are ready. We ask an asynchronous service to do some work and give it a callback function. It does that work (somewhere) and eventually it calls our function with the results of the work or an error. - **Promise** 就是 …… 好吧,它就是一个承诺 —— 在有了结果时,它承诺会回调我们。 + **承诺** 就是 …… 好吧,它就是一个承诺 —— 在有了结果时,它承诺会回调我们。 我们请求一个异步服务去做点什么,并且给它一个回调函数。 它会去做(在某个地方),一旦完成,它就会调用我们的回调函数,并通过参数把工作结果或者错误信息传给我们。 @@ -520,7 +520,7 @@ a#child-component :marked Update the `HeroService` with this !{_Promise}-returning `getHeroes` method: - 把`HeroService`的`getHeroes`方法改写为返回Promise的形式: + 把`HeroService`的`getHeroes`方法改写为返回承诺的形式: +makeExample('toh-4/ts/app/hero.service.ts', 'get-heroes', 'app/hero.service.ts (excerpt)')(format=".") @@ -528,11 +528,11 @@ a#child-component We're still mocking the data. We're simulating the behavior of an ultra-fast, zero-latency server, by returning an **immediately resolved !{_Promise}** with our mock heroes as the result. - 我们继续使用模拟数据。我们通过返回一个 *立即解决的Promise* 的方式,模拟了一个超快、零延迟的超级服务器。 + 我们继续使用模拟数据。我们通过返回一个 *立即解决的承诺* 的方式,模拟了一个超快、零延迟的超级服务器。 ### Act on the !{_Promise} - ### 基于Promise的行动 + ### 基于承诺的行动 Returning to the `AppComponent` and its `getHeroes` method, we see that it still looks like this: @@ -543,17 +543,17 @@ a#child-component :marked As a result of our change to `HeroService`, we're now setting `this.heroes` to a !{_Promise} rather than an array of heroes. - 在修改了`HeroService`之后,我们还要把`this.heroes`替换为一个Promise,而不再是一个英雄数组。 + 在修改了`HeroService`之后,我们还要把`this.heroes`替换为一个承诺,而不再是一个英雄数组。 We have to change our implementation to *act on the !{_Promise} when it resolves*. When the !{_Promise} resolves successfully, *then* we will have heroes to display. - 我们得修改这个实现,把它变成*基于Promise*的,并在承诺的事情被解决时再行动。 - 一旦Promise被成功解决,我们就会显示英雄数据。 + 我们得修改这个实现,把它变成*基于承诺*的,并在承诺的事情被解决时再行动。 + 一旦承诺的事情被成功解决,我们就会显示英雄数据。 We pass our callback function as an argument to the !{_Promise}'s **then** method: - 我们把回调函数作为参数传给Promise对象的**then**函数: + 我们把回调函数作为参数传给承诺对象的**then**函数: +makeExample('toh-4/ts/app/app.component.ts', 'get-heroes', 'app/app.component.ts (getHeroes - revised)')(format=".") @@ -649,7 +649,7 @@ a#child-component * We designed our service to return a !{_Promise} and our component to get our data from the !{_Promise}. - * 我们把服务设计为返回Promise,组件从Promise中获取数据。 + * 我们把服务设计为返回承诺,组件从承诺中获取数据。 Run the for this part. @@ -692,8 +692,8 @@ a#child-component Like `getHeroes`, it also returns a !{_Promise}. But this !{_Promise} waits 2 seconds before resolving the !{_Promise} with mock heroes. - 像`getHeroes`一样,它也返回一个Promise。 - 但是,这个Promise会在提供模拟数据之前等待两秒钟。 + 像`getHeroes`一样,它也返回一个承诺。 + 但是,这个承诺会在提供模拟数据之前等待两秒钟。 Back in the `AppComponent`, replace `heroService.getHeroes` with `heroService.getHeroesSlowly` and see how the app behaves.