javascript - 使用 .then 进行包装在函数中的 ajax 调用

标签 javascript jquery

我有以下代码

function fetchInfo(tableName, tableFields) {
  $.ajax({
    url: `${baseUrl}/_api/getTableData('${tableName}')/details?$tableFieldsQueried=${tableFields.join(',')}`,
    headers: {
      Accept: "application/json;odata=verbose"
    },
    success: function success(res) {
      return res
    },
    eror: function eror(err) {
      console.log(JSON.stringify(err));
    }
  })
}

fetchInfo("test1", ["tfield", "sfield"])
fetchInfo("test2", ["qfield", "rfield"])
fetchInfo("test3", ["ttfield", "dfield"])

如果我使用

fetchInfo("test4", ["efield","hfield"]).then((res) => console.log(res))

我没有得到,因为应该对 ajax 调用进行链接,所以我如何使用相同的函数通过 ajax 调用来获取数据。

有什么办法或者我需要为每个调用重复 4 次相同的 ajax 代码

最佳答案

您必须实际返回 the ajax request object来自你的函数。

function fetchInfo(tableName, tableFields) {
  return $.ajax({    // <-- Here
    url: `${baseUrl}/_api/getTableData('${tableName}')/details?$tableFieldsQueried=${tableFields.join(',')}`,
    headers: {
      Accept: "application/json;odata=verbose"
    },
    success: function success(res) {
      return res
    },
    eror: function eror(err) {
      console.log(JSON.stringify(err));
    }
  });
}

关于javascript - 使用 .then 进行包装在函数中的 ajax 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50388882/

相关文章:

javascript - JS 正则表达式 : how to match "for (...)" but not "for...of" or "for...in"

javascript - 无法 "skip" Mongoose 子文档

javascript - 我不太了解 DOM 标准 Event 对象

javascript - Jquery - 如果条件为真,则循环选择器并执行某些操作

javascript - Vue,组成 : pass a "slot" prop as a an attribute value

javascript - 使用 Mocha 测试 Number.prototype

jquery - 避免 jquery 中的多个加载函数

jquery 代码没有运行

javascript - 如何检查 div 是否具有液体/自动高度?

javascript - 在动态添加的文本框中输入文本时启用按钮