如何在 javascript 中更改解析服务器中调用的优先级? [英] How can I change the priority for calls in my parse server in javascript?

查看:50
本文介绍了如何在 javascript 中更改解析服务器中调用的优先级?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I'm building a webfrontend and the user should be able to select some pictures and delete all of them at a time. So I'm trying it with this:

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);
            }
        });
    }
}

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

The problem is that my script always want FIRST to destroy them all and THEN try to get the objects out of my DB. So it doesn't delete anything.

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

So my question is, how can I change the priority call for my parse server?

推荐答案

使用 Promises 来处理请求.AJAX 请求是异步的,所以你必须异步处理它

Use Promises for handle the requests. An AJAX request is async, so you must handle it asynchronyosly

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 中更改解析服务器中调用的优先级?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆