javascript-tutorial / javascript-tutorial/en.javascript.info

Promise basics loading indicator example

未關閉
#3,286 6 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視

還沒有人認領這個 Issue。

主要語言
HTML
星號
25.5k
分支
4k
PR 合併指標
30 天內沒有已合併 PR

描述

So I was wrapping my head around why would the loading indicator stay active if the promise was settled? The solution did not clarify everything for me, the best explanation I found is:

new Promise((resolve, reject) => {
  /* do something that takes time, and then call resolve or maybe reject */
  const loading = document.createElement('img');
  loading.src="https://media3.giphy.com/media/3oEjI6SIIHBdRxXI40/giphy.gif?cid=ecf05e471sfq2igav6mmdj3cvn1mr4j6br7k3tmo4jvg5t5u&rid=giphy.gif&ct=g";
  document.body.append(loading);
})
*!*
  // runs when the promise is settled, doesn't matter successfully or not
  doSomething().finally(() => loading.remove());
  // so the loading indicator is always stopped before we go on
*/!*
  .then(result => show result, err => show error)

Could something like this improve the example?

貢獻指南

這個儲存庫沒有索引到貢獻指南

從這裡開始

  1. 先讀完整個 Issue,再讀專案的貢獻指南。
  2. 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
  3. Fork 儲存庫,在一個分支上完成修改。
  4. 送出 Pull Request,並在描述裡引用這個 Issue 編號。

研究方向

先找到 issue 中討論的 Promise basics 載入指示器範例,並檢視它如何說明已 settled 的 promise。將此範例與提議的以 finally 為基礎的清理進行比較,接著如果這能讓行為更清楚,就更新教學,並確認說明涵蓋成功和 rejected 的 promise。

由索引模型根據 Issue 內容生成。

評估

技術堆疊
javascript
領域
documentation
Issue 類型
文件
難度
2/5
預估耗時
1-3 小時
活躍度
停滯
描述清晰度
基本清楚
新手友好度
45/100

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。