javascript - JQuery Post inside Promise inside every 如何创建数组

标签 javascript jquery arrays promise

我有一些代码

function getSomeInfoFromDB() {
    let promises = [];
    let order = [];
    $("tr").each(function(index) {
        let value1 = $(this).children("td:nth-child(4)").text();
        let value2 = $(this).children("td:nth-child(5)").text();

        order.push({
            index: index,
            a: value1,
            b: value2,
            promiseResult: ""
        });
        promises.push(new Promise((resolve) =>
$.post("http://url.com/getDataFromDataBase.php", {a: value2})
            .done(resolve)));

    });

    Promise.all(promises)
        .then(values => values)
        .then(result => $(order).each(function() {
            this.promiseResult = result;
        }))
        .then(console.log(order));
}

我需要保存索引、value1、value2 和 PromiseResult(此 $each 迭代的数据库答案) 对于每个 TR 元素到关联数组或其他东西 我无法得到正确的结果。

我需要这样的数组 - order[{index: 1, a: value1forIndex1 , b: value2forIndex1, PromiseResult: REZULT1} ,{index: 2, a: value1forIndex2 , b: value2forIndex2, PromiseResult: REZULT2} ]

最佳答案

这应该可以满足您的要求

function getSomeInfoFromDB() {
  var promises = $('tr').map((index, elem) => {
    let val1 = $(elem).children("td:nth-child(4)").text();
    let val2 = $(elem).children("td:nth-child(5)").text();
    return $.post('http://url.com/getDataFromDataBase.php', { a: val2 }).then(result => {
      return {
        index: index,
        a: val1,
        b: val2,
        result: result
      };
    });
  });

  Promise.all(promises)
    .then(arr => {
      console.log(arr);
    });
}

关于javascript - JQuery Post inside Promise inside every 如何创建数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47576085/

相关文章:

arrays - 从Powershell中的对象中删除一个或多个成员

javascript - 如何恢复从数组中删除的项目?

javascript - 在 javascript 中,为什么是 {}!==Object()?

javascript - AngularJS Web App 缺少 CORS header 'Access-Control-Allow-Origin'

javascript过程解释

jquery - 如何创建带有视差背景视频的网页

jquery - 如何将 $(this) 传递给选择器

javascript - 动态Web表单,字段可以嵌套到任意深度,还可以动态添加/删除字段

javascript - 如何在php foreach循环中获取选项的选定值

ruby - 在这种情况下,正则表达式比数组比较快吗?