|
1 | 1 | # Promise
|
2 | 2 |
|
3 |
| -あなたはトップシンガーで、ファンはあなたの次の歌をずっと待ち望んでいると想像してください。 |
| 3 | +あなたはトップシンガーで、ファンは今後のシングルについて絶えず尋ねていると想像してください。 |
4 | 4 |
|
5 |
| -安心させるため、あなたはファンに公開時にそれを送ることを約束し、リストを渡します。彼らは自身の座標をリストに記入することができ、新しい歌が利用可能になると購読者はすぐに取得できます。また、もし何か間違いがありその歌が公開されなくなった場合も彼らに通知されます。 |
| 5 | +それに関していくらか解放されるため、あなたは公開時にその曲を送ることを約束します。 また、ファンに更新を購読できるリストを提供します。 彼らは電子メールアドレスを記入することができ、曲が利用可能になるとすべての購読者がすぐにそれを受け取れるようになります。 そして、万が一何か手違いがありその曲を発表する計画が取り消されたとしても、彼らはその通知を受けとることができるでしょう。 |
6 | 6 |
|
7 |
| -みんなハッピーです: 人々はこれ以上あなたの元へ押し寄せることはしません。また、ファンはその歌を見逃すことはありません。 |
| 7 | +みんな幸せです: ファンはこれ以上あなたの元へ押し寄せることはしません。また、ファンはその歌を見逃すことはありません。 |
8 | 8 |
|
9 |
| -これはプログラミングにおいて私たちがしばしば抱くことへの現実的なアナロジーでした。: |
| 9 | +これはプログラミングにおいてしばしば抱くことへの現実的なアナロジーです。: |
10 | 10 |
|
11 |
| -1. 何かを行い、時間を必要とする "生産コード"。例えば、リモートスクリプトをロードします。それは "シンガー" です。 |
12 |
| -2. "消費コード" は準備ができたときに結果を望みます。多くの関数がその結果を必要とする場合もあります。それらは "ファン" です。 |
13 |
| -3. *promise* はそれらをリンクする特別な JavaScript オブジェクトです。それは "リスト" です。生産コードはそれを作成して全員に渡すので結果を購読することができます。 |
| 11 | +1. 何かを行い時間を必要とする "生成コード"。例えば、コードはリモートスクリプトをロードします。それは "シンガー" です。 |
| 12 | +2. 準備が整ったらすぐ "生成コード" の結果が欲しい "消費コード"。多くの関数がその結果を必要とするかもしれません。それらは "ファン" です。 |
| 13 | +3. *promise* は "生成コード" と "消費コード" をリンクする特別な JavaScript オブジェクトです。今回のアナロジーではそれは "購読リスト" です。生成コードは約束された結果を生成するために必要な時間をとります。そして "promise" は準備ができたら、購読したすべてのコードが結果を利用できるようにします。 |
14 | 14 |
|
15 |
| -JavaScript の promise は追加の特徴や制限があり単純なリストよりも複雑であるため、このアナロジーはあまり正確ではありません。しかし、それでもこれらは似ています。 |
| 15 | +JavaScript の promise は追加の特徴や制限があり単純な 購読リスト よりも複雑であるため、このアナロジーはあまり正確ではありません。しかし、最初に理解には良いです。 |
16 | 16 |
|
17 | 17 | promise オブジェクトのコンストラクタ構文は次の通りです:
|
18 | 18 |
|
19 | 19 | ```js
|
20 | 20 | let promise = new Promise(function(resolve, reject) {
|
21 |
| - // executor (the producing code, "singer") |
| 21 | + // executor (生成コード, "シンガー") |
22 | 22 | });
|
23 | 23 | ```
|
24 | 24 |
|
25 |
| -`new Promise` へ渡される関数は *executor(執行者)* と呼ばれます。primise が作成されると、自動的に呼ばれます。それは最終的に結果と一緒に終了する生産コードを含んでいます。上記のアナロジーの言葉では、executor は "シンガー" です。 |
| 25 | +`new Promise` へ渡される関数は *executor(執行者)* と呼ばれます。primise が作成されると、自動的に呼ばれます。それは最終的に結果と一緒に終了する生成コードを含んでいます。上記のアナロジーの言葉では、executor は "シンガー" です。 |
26 | 26 |
|
27 | 27 | 生成された `promise` オブジェクトは内部プロパティを持っています:
|
28 | 28 |
|
@@ -121,7 +121,7 @@ promise オブジェクトのプロパティ `state` と `result` は内部的
|
121 | 121 |
|
122 | 122 | ## 消費者: ".then" and ".catch" [# Consumers: ".then" and ".catch"]
|
123 | 123 |
|
124 |
| -promise オブジェクトは生産コード(executor)と消費関数(結果/エラーを受け取りたいもの)の間のリンクとして機能します。消費関数は `promise.then` と `promise.catch` メソッドを使用して登録することができます。 |
| 124 | +promise オブジェクトは生成コード(executor)と消費関数(結果/エラーを受け取りたいもの)の間のリンクとして機能します。消費関数は `promise.then` と `promise.catch` メソッドを使用して登録することができます。 |
125 | 125 |
|
126 | 126 | `.then` の構文は次の通りです:
|
127 | 127 |
|
|
0 commit comments