javascript - 如何在 javascript 中更改解析服务器中调用的优先级?

标签 javascript parse-platform

我正在构建一个 Web 前端,用户应该能够一次选择一些图片并删除所有图片。所以我正在尝试这样做:

function deletePic(){
    var inputs = document.querySelectorAll("input[type='checkbox']");
    var PicsForDelete =[];

    for(var i = 0; i < inputs.length; i++) {
        if(inputs[i].checked == true){
            userPics_query.get(inputs[i].id, {
                 success: function(picForDelete) {
                   PicsForDelete.push(picForDelete);
                   alert(picForDelete.id +" " + PicsForDelete[i]);
                 },
                 error: function(picForDelete, error) {
                   alert("Error: " + error.code + " " + error.message);
                 }
            });
        }
    }

    destroyItAll(PicsForDelete);
}

function destroyItAll(PicsForDelete){
    if(confirm("Press 'OK' to delete "+PicsForDelete.length +" pictures!")){
        Parse.Object.destroyAll(PicsForDelete,{
            success: function(myObject) {
                alert(PicsForDelete.length + " Images successfully deleted!");
            },
            error: function(myObject, error) {
                alert("Error: " + error.code + " " + error.message);
            }
        });
    }
}

问题是我的脚本总是希望首先销毁它们,然后尝试从我的数据库中取出对象。所以它不会删除任何东西。

所以我的问题是,如何更改解析服务器的优先级调用?

最佳答案

使用 Promises 处理请求。 AJAX 请求是异步的,因此您必须异步处理它

var imgPromises = [];
for(var i = 0; i < inputs.length; i++) {
    if(inputs[i].checked == true){
        var imgForDelPromise = new Promise(function (resolve) {
            userPics_query.get(inputs[i].id, {
                success: function(picForDelete) {
                    resolve(picForDelete);
                },
                error: function(picForDelete, error) {
                    alert("Error: " + error.code + " " + error.message);
                }
            });
        });
        imgPromises.push(imgForDelPromise);
    }
}

Promise.all(imgPromises).then(function (imgs) {
    destroyItAll(imgs);
});

关于javascript - 如何在 javascript 中更改解析服务器中调用的优先级?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48399570/

相关文章:

ios - 如何在 iOS sdk 中读取从云代码发送的关联数组?

javascript - 选择具有相同类的多个div

javascript - 在 webworker 中运行 Angular 5 应用程序会导致窗口对象未定义

javascript - 按 ],[ 分割字符串并创建 json 对象

javascript - 使用 "new"运算符与使用 "window"对象

android - 检查解析数组列是否包含某些值

javascript - 是否有一个 javascript (jquery) slider 可以独立于显示值来限制值?

javascript - parse.com 和 java 脚本 - 为用户上传图像并显示图像

javascript - 将 Parse JavaScript SDK 与 Google Chrome 应用程序结合使用

javascript - 解析: using httpRequest to load image