diff options
author | Irvin <irvinfly@gmail.com> | 2022-02-16 02:02:49 +0800 |
---|---|---|
committer | Irvin <irvinfly@gmail.com> | 2022-02-16 02:35:54 +0800 |
commit | 01b0e12ba27b5069248fd09235e9a7143915ee30 (patch) | |
tree | 0e9edf538dc3fa3331e1dbb79239b58186765f86 /files/zh-cn/web/javascript/reference/global_objects/promise | |
parent | 6ca84f1794af830ada9736d7289ce29aabb04ca3 (diff) | |
download | translated-content-01b0e12ba27b5069248fd09235e9a7143915ee30.tar.gz translated-content-01b0e12ba27b5069248fd09235e9a7143915ee30.tar.bz2 translated-content-01b0e12ba27b5069248fd09235e9a7143915ee30.zip |
remove `notranslate` class in zh-CN
Diffstat (limited to 'files/zh-cn/web/javascript/reference/global_objects/promise')
5 files changed, 27 insertions, 27 deletions
diff --git a/files/zh-cn/web/javascript/reference/global_objects/promise/all/index.html b/files/zh-cn/web/javascript/reference/global_objects/promise/all/index.html index c2d22ae1cd..113760c25d 100644 --- a/files/zh-cn/web/javascript/reference/global_objects/promise/all/index.html +++ b/files/zh-cn/web/javascript/reference/global_objects/promise/all/index.html @@ -21,7 +21,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Promise/all <h2 id="语法">语法</h2> -<pre class="syntaxbox notranslate"><var>Promise.all(iterable)</var>;</pre> +<pre class="syntaxbox"><var>Promise.all(iterable)</var>;</pre> <h3 id="参数">参数</h3> @@ -56,7 +56,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Promise/all <p><code>Promise.all</code> 等待所有都完成(或第一个失败)。</p> -<pre class="brush: js notranslate">var p1 = Promise.resolve(3); +<pre class="brush: js">var p1 = Promise.resolve(3); var p2 = 1337; var p3 = new Promise((resolve, reject) => { setTimeout(resolve, 100, 'foo'); @@ -68,7 +68,7 @@ Promise.all([p1, p2, p3]).then(values => { <p>如果参数中包含非 <code>promise</code> 值,这些值将被忽略,但仍然会被放在返回数组中(如果 <code>promise</code> 完成的话):</p> -<pre class="brush: js notranslate">// this will be counted as if the iterable passed is empty, so it gets fulfilled +<pre class="brush: js">// this will be counted as if the iterable passed is empty, so it gets fulfilled var p = Promise.all([1,2,3]); // this will be counted as if the iterable passed contains only the resolved promise with value "444", so it gets fulfilled var p2 = Promise.all([1,2,3, Promise.resolve(444)]); @@ -91,7 +91,7 @@ setTimeout(function(){ <p>下面的例子中演示了 <code>Promise.all</code> 的异步性(如果传入的可迭代对象是空的,就是同步):</p> -<pre class="brush: js notranslate">// we are passing as argument an array of promises that are already resolved, +<pre class="brush: js">// we are passing as argument an array of promises that are already resolved, // to trigger Promise.all as soon as possible var resolvedPromisesArray = [Promise.resolve(33), Promise.resolve(44)]; @@ -113,7 +113,7 @@ setTimeout(function(){ <p>如果 <code>Promise.all</code> 失败,也是一样的:</p> -<pre class="brush: js notranslate">var mixedPromisesArray = [Promise.resolve(33), Promise.reject(44)]; +<pre class="brush: js">var mixedPromisesArray = [Promise.resolve(33), Promise.reject(44)]; var p = Promise.all(mixedPromisesArray); console.log(p); setTimeout(function(){ @@ -129,7 +129,7 @@ setTimeout(function(){ <p>但是,<code>Promise.all</code> <strong>当且仅当</strong>传入的可迭代对象为空时为同步:</p> -<pre class="brush: js notranslate">var p = Promise.all([]); // will be immediately resolved +<pre class="brush: js">var p = Promise.all([]); // will be immediately resolved var p2 = Promise.all([1337, "hi"]); // non-promise values will be ignored, but the evaluation will be done asynchronously console.log(p); console.log(p2) @@ -149,7 +149,7 @@ setTimeout(function(){ <p><code>Promise.all</code> 在任意一个传入的 <code>promise</code> 失败时返回失败。例如,如果你传入的 <code>promise</code>中,有四个 <code>promise</code> 在一定的时间之后调用成功函数,有一个立即调用失败函数,那么 <code>Promise.all</code> 将立即变为失败。</p> -<pre class="brush: js notranslate">var p1 = new Promise((resolve, reject) => { +<pre class="brush: js">var p1 = new Promise((resolve, reject) => { setTimeout(resolve, 1000, 'one'); }); var p2 = new Promise((resolve, reject) => { diff --git a/files/zh-cn/web/javascript/reference/global_objects/promise/allsettled/index.html b/files/zh-cn/web/javascript/reference/global_objects/promise/allsettled/index.html index a448dfb79b..d6ceaaa2ad 100644 --- a/files/zh-cn/web/javascript/reference/global_objects/promise/allsettled/index.html +++ b/files/zh-cn/web/javascript/reference/global_objects/promise/allsettled/index.html @@ -19,7 +19,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Promise/allSettled <h2 id="句法">句法</h2> -<pre class="notranslate"><em>Promise</em>.allSettled(<em>iterable</em>);</pre> +<pre><em>Promise</em>.allSettled(<em>iterable</em>);</pre> <h3 id="参数">参数</h3> diff --git a/files/zh-cn/web/javascript/reference/global_objects/promise/any/index.html b/files/zh-cn/web/javascript/reference/global_objects/promise/any/index.html index 25e87a91af..b61b833f5f 100644 --- a/files/zh-cn/web/javascript/reference/global_objects/promise/any/index.html +++ b/files/zh-cn/web/javascript/reference/global_objects/promise/any/index.html @@ -19,7 +19,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Promise/any <h2 id="语法">语法</h2> -<pre class="notranslate">Promise.any(<var>iterable</var>);</pre> +<pre>Promise.any(<var>iterable</var>);</pre> <h3 id="参数">参数</h3> @@ -63,7 +63,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Promise/any <p>即使第一个返回的 promise 是失败的,<code>Promise.any()</code> 依然使用第一个成功状态的 promise 来返回。这与使用首个(无论 rejected 还是 fullfiled)promise 来返回的 {{jsxref("Promise.race()")}} 相反。</p> -<pre class="brush: js notranslate">const pErr = new Promise((resolve, reject) => { +<pre class="brush: js">const pErr = new Promise((resolve, reject) => { reject("总是失败"); }); @@ -86,7 +86,7 @@ Promise.any([pErr, pSlow, pFast]).then((value) => { <p>如果没有 fulfilled (成功的) promise,<code>Promise.any()</code> 返回 {{jsxref("AggregateError")}} 错误。</p> -<pre class="brush: js notranslate">const pErr = new Promise((resolve, reject) => { +<pre class="brush: js">const pErr = new Promise((resolve, reject) => { reject('总是失败'); }); @@ -100,7 +100,7 @@ Promise.any([pErr]).catch((err) => { <p>在这个例子,我们有一个获取图片并返回 blob 的函数,我们使用 <code>Promise.any()</code> 来获取一些图片并显示第一张有效的图片(即最先 resolved 的那个 promise)。</p> -<pre class="brush: js notranslate">function fetchAndDecode(url) { +<pre class="brush: js">function fetchAndDecode(url) { return fetch(url).then(response => { if(!response.ok) { throw new Error(`HTTP error! status: ${response.status}`); diff --git a/files/zh-cn/web/javascript/reference/global_objects/promise/index.html b/files/zh-cn/web/javascript/reference/global_objects/promise/index.html index 3dd832b401..31420f60c5 100644 --- a/files/zh-cn/web/javascript/reference/global_objects/promise/index.html +++ b/files/zh-cn/web/javascript/reference/global_objects/promise/index.html @@ -46,7 +46,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Promise <p>我们可以用 <code>promise.then()</code>,<code>promise.catch()</code> 和 <code>promise.finally()</code> 这些方法将进一步的操作与一个变为已敲定状态的 promise 关联起来。这些方法还会返回一个新生成的 promise 对象,这个对象可以被非强制性的用来做链式调用,就像这样:</p> -<pre class="notranslate">const myPromise = +<pre>const myPromise = (new Promise(myExecutorFunc)) .then(handleFulfilledA,handleRejectedA) .then(handleFulfilledB,handleRejectedB) @@ -65,7 +65,7 @@ const myPromise = <p>这两个函数的签名很简单,它们只接受一个任意类型的参数。这些函数由您(编程者)编写。这些函数的终止状态决定着链式调用中下一个promise的"已敲定 (settled)"状态是什么。任何不是 <code>throw</code> 的终止都会创建一个"已决议(resolved)"状态,而以 <code>throw</code> 终止则会创建一个"已拒绝"状态。</p> -<pre class="notranslate">handleFulfilled(value) { /*...*/; return nextValue; } +<pre>handleFulfilled(value) { /*...*/; return nextValue; } handleRejection(reason) { /*...*/; throw nextReason; } handleRejection(reason) { /*...*/; return nextValue; }</pre> @@ -75,21 +75,21 @@ handleRejection(reason) { /*...*/; return nextValue; }</pre> <p>链式调用中的 promise 们就像俄罗斯套娃一样,是嵌套起来的,但又像是一个栈,每个都必须从顶端被弹出。链式调用中的第一个 promise 是嵌套最深的一个,也将是第一个被弹出的。</p> -<pre class="notranslate">(promise D, (promise C, (promise B, (promise A) ) ) )</pre> +<pre>(promise D, (promise C, (promise B, (promise A) ) ) )</pre> <p>当存在一个 <code>nextValue</code> 是 promise 时,就会出现一种动态的替换效果。<code>return</code> 会导致一个 promise 被弹出,但这个 <code>nextValue</code> promise 则会被推入被弹出 promise 原来的位置。对于上面所示的嵌套场景,假设与 "promise B" 相关的 <code>.then()</code> 返回了一个值为 "promise X" 的 <code>nextValue</code> 。那么嵌套的结果看起来就会是这样:</p> -<pre class="notranslate">(promise D, (promise C, (promise X) ) )</pre> +<pre>(promise D, (promise C, (promise X) ) )</pre> <p>一个 promise 可能会参与不止一次的嵌套。对于下面的代码,<code>promiseA</code> 向"已敲定"("settled")状态的过渡会导致两个实例的 <code>.then</code> 都被调用。</p> -<pre class="notranslate">const promiseA = new Promise(myExecutorFunc); +<pre>const promiseA = new Promise(myExecutorFunc); const promiseB = promiseA.then(handleFulfilled1, handleRejected1); const promiseC = promiseA.then(handleFulfilled2, handleRejected2); </pre> <p>一个已经处于"已敲定"("settled")状态的 promise 也可以接收操作。在那种情况下,(如果没有问题的话,)这个操作会被作为第一个异步操作被执行。注意,所有的 promise 都一定是异步的。因此,一个已经处于"已敲定"("settled")状态的 promise 中的操作只有 promise 链式调用的栈被清空了和一个事件循环过去了之后才会被执行。这种效果跟 <code>setTimeout(action, 10)</code> 特别相似。</p> -<pre class="notranslate">const promiseA = new Promise( (resolutionFunc,rejectionFunc) => { +<pre>const promiseA = new Promise( (resolutionFunc,rejectionFunc) => { resolutionFunc(777); }); // 这时,"promiseA" 已经被敲定了。 @@ -155,7 +155,7 @@ console.log("immediate logging"); <p><code>Promise</code> 对象是由关键字 <code>new</code> 及其构造函数来创建的。该构造函数会把一个叫做“处理器函数”(executor function)的函数作为它的参数。这个“处理器函数”接受两个函数——<code>resolve</code> 和 <code>reject</code> ——作为其参数。当异步任务顺利完成且返回结果值时,会调用 <code>resolve</code> 函数;而当异步任务失败且返回失败原因(通常是一个错误对象)时,会调用<code>reject</code> 函数。</p> -<pre class="brush: js notranslate">const myFirstPromise = new Promise((resolve, reject) => { +<pre class="brush: js">const myFirstPromise = new Promise((resolve, reject) => { // ?做一些异步操作,最终会调用下面两者之一: // // resolve(someValue); // fulfilled @@ -165,7 +165,7 @@ console.log("immediate logging"); <p>想要某个函数拥有promise功能,只需让其返回一个promise即可。</p> -<pre class="brush: js notranslate">function myAsyncFunction(url) { +<pre class="brush: js">function myAsyncFunction(url) { return new Promise((resolve, reject) => { const xhr = new XMLHttpRequest(); xhr.open("GET", url); @@ -179,7 +179,7 @@ console.log("immediate logging"); <h3 id="基础示例">基础示例</h3> -<pre class="brush: js notranslate">let myFirstPromise = new Promise(function(resolve, reject){ +<pre class="brush: js">let myFirstPromise = new Promise(function(resolve, reject){ //当异步代码执行成功时,我们才会调用resolve(...), 当异步代码失败时就会调用reject(...) //在本例中,我们使用setTimeout(...)来模拟异步代码,实际编码时可能是XHR请求或是HTML5的一些API方法. setTimeout(function(){ @@ -196,7 +196,7 @@ myFirstPromise.then(function(successMessage){ <h3 id="高级示例">高级示例</h3> -<pre class="brush: html hidden notranslate"><button id="btn">Make a promise!</button> +<pre class="brush: html hidden"><button id="btn">Make a promise!</button> <div id="log"></div> </pre> @@ -204,7 +204,7 @@ myFirstPromise.then(function(successMessage){ <p>Promise 的值的填充过程都被日志记录(logged)下来,这些日志信息展示了方法中的同步代码和异步代码是如何通过Promise完成解耦的。</p> -<pre class="brush: js notranslate">'use strict'; +<pre class="brush: js">'use strict'; var promiseCount = 0; function testPromise() { @@ -247,7 +247,7 @@ function testPromise() { ') Promise made (<small>同步代码结束</small>)<br/>'); }</pre> -<pre class="brush:js hidden notranslate">if ("Promise" in window) { +<pre class="brush:js hidden">if ("Promise" in window) { let btn = document.getElementById("btn"); btn.addEventListener("click",testPromise); } else { diff --git a/files/zh-cn/web/javascript/reference/global_objects/promise/race/index.html b/files/zh-cn/web/javascript/reference/global_objects/promise/race/index.html index fab2fd64a9..569f7d9d50 100644 --- a/files/zh-cn/web/javascript/reference/global_objects/promise/race/index.html +++ b/files/zh-cn/web/javascript/reference/global_objects/promise/race/index.html @@ -15,7 +15,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Promise/race <h2 id="Syntax" name="Syntax">语法</h2> -<pre class="syntaxbox notranslate"><var>Promise.race(iterable)</var>;</pre> +<pre class="syntaxbox"><var>Promise.race(iterable)</var>;</pre> <h3 id="参数"><strong>参数</strong></h3> @@ -40,7 +40,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Promise/race <h3 id="Promise.race的异步性">Promise.race的异步性</h3> -<pre class="brush: js notranslate">// we are passing as argument an array of promises that are already resolved, +<pre class="brush: js">// we are passing as argument an array of promises that are already resolved, // to trigger Promise.race as soon as possible var resolvedPromisesArray = [Promise.resolve(33), Promise.resolve(44)]; @@ -61,7 +61,7 @@ setTimeout(function(){ <h3 id="使用_Promise.race_–_setTimeout_的示例">使用 Promise.race – setTimeout 的示例</h3> -<pre class="brush: js notranslate">var p1 = new Promise(function(resolve, reject) { +<pre class="brush: js">var p1 = new Promise(function(resolve, reject) { setTimeout(resolve, 500, "one"); }); var p2 = new Promise(function(resolve, reject) { |