如何一次显示所有回调结果(格式化)

How to display all callback results (formatted) at once

本文关键字:结果 格式化 回调 何一次 显示      更新时间:2023-09-26

我有一个回调发送数据一旦他们准备好了(例如,5个名字的数组后,我做一个左键点击)。我想将所有发送的数据显示到Ext.Panel,但它只显示在Ext.Panel中数组的最后一个对象(例如,数组从1到5,1到4出现得非常快,最后只剩下5)。此外,我希望按行显示这些数据,而不是像数组那样。我怎样才能做到呢?

代码:

  trigger: function(e) {
    /* define some here */
    /*...*/
    $.ajax({
      /*...*/
      success: function(result){
        /*...*/
        var temp1 = 'name1';
        callback(temp1);
      }
    });
    $.ajax({
      /*...*/
      success: function(result){
        /*...*/
        var temp2 = 'name2';
        callback(temp2);
      }
    });
function callback(result){
    console.log('all results but they appear one by one here like: ' + result);
        var store = new Ext.Panel({
            html: result,
            border: false,
            bodyStyle: {
                'padding': '6px'
            },
            autoHeight: true
        });
};

既然你知道你做了多少ajax请求(5),我建议你创建一个全局变量,它将记住所有回调的结果,并在它们全部加载后插入到面板中:

var myData = [];    
function callback(result){
    myData.push(result);
    if (myData.length == 5) {
          var store = new Ext.Panel({
              html: myDataFormated , // Here add some style by transforming myData array
              border: false,
              bodyStyle: {
                 'padding': '6px'
              },
              autoHeight: true
          });   
    }
};