91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么構造JavaScript Promise

發布時間:2022-03-03 10:23:14 來源:億速云 閱讀:134 作者:iii 欄目:web開發

這篇“怎么構造JavaScript Promise”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“怎么構造JavaScript Promise”文章吧。

  Promise 是一個 ECMAScript 6 提供的類,目的是更加優雅地書寫復雜的異步任務。

  由于 Promise 是 ES6 新增加的,所以一些舊的瀏覽器并不支持,蘋果的 Safari 10 和 Windows 的 Edge 14 版本以上瀏覽器才開始支持 ES6 特性。

  構造 Promise

  現在我們新建一個 Promise 對象:

  new Promise(function (resolve, reject) {

  // 要做的事情...

  });

  通過新建一個 Promise 對象好像并沒有看出它怎樣 "更加優雅地書寫復雜的異步任務"。我們之前遇到的異步任務都是一次異步,如果需要多次調用異步函數呢?例如,如果我想分三次輸出字符串,第一次間隔 1 秒,第二次間隔 4 秒,第三次間隔 3 秒:

  實例

  setTimeout(function () {

  console.log("First");

  setTimeout(function () {

  console.log("Second");

  setTimeout(function () {

  console.log("Third");

  }, 3000);

  }, 4000);

  }, 1000);

  這段程序實現了這個功能,但是它是用 "函數瀑布" 來實現的。可想而知,在一個復雜的程序當中,用 "函數瀑布" 實現的程序無論是維護還是異常處理都是一件特別繁瑣的事情,而且會讓縮進格式變得非常冗贅。

  現在我們用 Promise 來實現同樣的功能:

  實例

  new Promise(function (resolve, reject) {

  setTimeout(function () {

  console.log("First");

  resolve();

  }, 1000);

  }).then(function () {

  return new Promise(function (resolve, reject) {

  setTimeout(function () {

  console.log("Second");

  resolve();

  }, 4000);

  });

  }).then(function () {

  setTimeout(function () {

  console.log("Third");

  }, 3000);

  });

  這段代碼較長,所以還不需要完全理解它,我想引起注意的是 Promise 將嵌套格式的代碼變成了順序格式的代碼。

以上就是關于“怎么構造JavaScript Promise”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

廊坊市| 阜新| 泰兴市| 许昌市| 加查县| 格尔木市| 双江| 大姚县| 莱西市| 望都县| 常山县| 浏阳市| 林西县| 桂东县| 城固县| 平泉县| 鄂伦春自治旗| 威远县| 洛川县| 绥化市| 天长市| 宣恩县| 新野县| 西林县| 南城县| 分宜县| 利辛县| 东辽县| 满洲里市| 卢龙县| 图木舒克市| 肃北| 祁东县| 光泽县| 霍林郭勒市| 女性| 北海市| 翁牛特旗| 综艺| 抚州市| 台东县|