JavaScript >> Javascript 文檔 >  >> Tags >> Ajax

如何承諾 Ajax 調用

假設您有一個 AJAX 調用,以及其他一些依賴於 AJAX 調用在運行之前加載的函數。

這是AJAX函數。

function doTheThing() {
  $.ajax({
    url: window.location.href,
    type: 'POST',
    data: {
      key: 'value',
    },
    success: function (data) {
      console.log(data)
    },
    error: function (error) {
      console.log(error)
    },
  })
}

而且你可能連續調用這兩個函數,發現第二個函數不起作用,因為它依賴於第一個。

doTheThing()
doSomethingElse()

我們可以使用 Promise 快速輕鬆地重寫它

function doTheThing() {
  return new Promise((resolve, reject) => {
    $.ajax({
      url: window.location.href,
      type: 'POST',
      data: {
        key: 'value',
      },
      success: function (data) {
        resolve(data)
      },
      error: function (error) {
        reject(error)
      },
    })
  })
}

現在我們可以進行 AJAX 調用,運行成功函數,並使用任何後續代碼進行跟進。

doTheThing()
  .then((data) => {
    console.log(data)
    doSomethingElse()
  })
  .catch((error) => {
    console.log(error)
  })

就是這樣!


下一篇
No
Tutorial JavaScript 教程
  1. 極其簡單的 React 表單教程

  2. JavaScript 運算符初學者指南 - 第一部分

  3. 🛸 Web Components:類固醇上的組件。

  4. 我到底如何使用過濾器?

  5. 2022 年從科技起步。

  6. 反應式編程主題介紹

  7. YNAPB(你需要一個個人博客),以及如何做到這一點

  1. Wintersmith — Node.js 靜態站點生成器

  2. 驚人的多字體動畫

  3. JavaScript 中的 OOPS 以及易於理解的示例🔥🔥

  4. LeetCode 27. 移除元素(javascript 解決方案)

  5. 你有禁止和不兼容的插件列表嗎?

  6. 使用 react-router 在 React 中路由

  7. 嘗試更改相同值輸入的背景顏色

  1. Vscode 的熱門 Blackgold 主題🌛 🌜 🌚 🌕 🌖

  2. jQuery AJAX HTML5 數據列表自動完成示例

  3. 在 Reactjs 中構建 Markdown 編輯器

  4. 使用 Algolia 和 Google 的 Vision API 構建圖像搜索