Javascript parse.com删除太慢,无法重新渲染

Javascript parse.com删除太慢,无法重新渲染,javascript,parse-platform,delete-row,Javascript,Parse Platform,Delete Row,我正在向我的web应用程序添加删除(销毁)对象功能。 当我销毁对象然后重新渲染时,我的表仍然显示销毁的线。当我再次删除时,它无法删除。看起来我的重新渲染对于销毁功能来说太快了。销毁完成后如何重新渲染 function fncBuildEditData(i) { var EditData = Parse.Object.extend("WorkOrders"); var query = new Parse.Query(EditData); query.get(i, {

我正在向我的web应用程序添加删除(销毁)对象功能。 当我销毁对象然后重新渲染时,我的表仍然显示销毁的线。当我再次删除时,它无法删除。看起来我的重新渲染对于销毁功能来说太快了。销毁完成后如何重新渲染

function fncBuildEditData(i) {
    var EditData = Parse.Object.extend("WorkOrders");
    var query = new Parse.Query(EditData);
    query.get(i, {
            success: function(myObj) {
                myObj.destroy({});
            },
            error: function(object, error) {
             alert("DELETION FAILED!");
        }
    });
    fncBuildWOTable();//rebuild table
}

您的
query.get
将在运行其
success
函数之前立即返回,同样的
myObj.destroy
也将在运行其
success
函数之前返回。您应该在内部函数中执行重新加载,如下所示:

function fncBuildEditData(i) {
    var EditData = Parse.Object.extend("WorkOrders");
    var query = new Parse.Query(EditData);
    query.get(i, {
            success: function(myObj) {
                myObj.destroy(
                {
                    success: function(x) { 
                        fncBuildWOTable();//rebuild table
                    },
                    error: function(x, error) {
                        alert("DELETION FAILED!");
                    }
                });
            },
            error: function(object, error) {
                alert("GET FAILED!");
            }
    });    
}
您还提到,您正在使用以下代码绑定函数:

function ClickedRowButton() { 
    $(document).on('click', '.btnDeleteLine', function() {
        var row = $(this).parents('tr').attr('id'); 
        //var rowtext = $(this).closest('tr').text(); 
        //alert(row); 
        fncBuildEditData(row); 
    }); 
}
我相信您实际上试图只查找最近的元素,而不是元素的集合,因此请使用以下方法:

var row = $(this).closest('tr').attr('id');

谢谢,第一次删除时效果很好。之后它失败了,我收到两个“删除失败!”警报。下一次我收到三个“删除失败!”警报。看起来变量正在保存数据并试图删除它已经删除的对象。大概你觉得呢?我想这可能是我代码中的问题所在。在这里,我在上面的代码之前编写代码。”代码“function ClickedRowButton(){$(文档)。在('click','.btnDeleteLine',function(){var row=$(this)。parents('tr').attr('id');//var rowtext=$(this)。closest('tr').text();//alert(row);fncBuildEditData(row);});}'code'为什么不使用$('.btnDeleteLine')。单击(function(){});此外,您是否从警报(行)中获得正确的结果?我假设click事件或作为父元素选择的元素的绑定一定是错误的,因为您多次调用它。勾选alert(row.length)按钮是否注意到$(this.parents('tr')和$(this)之间存在差异。最接近的('tr')也可能是第一个正在选择多个元素?