javascript - Parse.com 云代码 - saveAll 请求超时

标签 javascript parse-platform

我正在尝试从 Cloud Code 函数保存对象集合。

在 30-40 个对象之后,我收到超时错误。我的代码如下所示:

Parse.Cloud.define("saveInBackground", function (request, response) {
    console.log("saveInBackground begin");

    var objectsToSave = [];

    for (var i = request.params.collectionToSave.length - 1; i >= 0; i--) {
        objectsToSave.push(new LikedObject(request.params.collectionToSave[i])); 
    };

    Parse.Object.saveAll(objectsToSave, {
        success: function(list) {
            // All the objects were saved.
            if (response) {
                response.success(list);
            };

            console.log("saveInBackground success");
        },
        error: function(model, error) {
            // An error occurred while saving one of the objects.
            if (response) {
                response.error(error);
            };

            console.log("saveInBackground error: " + error.message);
        }
    });

    console.log("saveInBackground end");
});

我可以做其他事情来保存一堆对象吗?

最佳答案

根据对象的大小,您可以尝试以 20-30 个为批处理保存它们。这是必需的,因为 saveAll() 正在尝试上传您提供给服务器的所有对象。以下是您可以如何执行此操作的示例代码:

var result = true;
for (var i = request.params.collectionToSave.length - 1; i >= 0; i--) {
    objectsToSave.push(new LikedObject(request.params.collectionToSave[i])); 
    if (i % 10 == 0) {
        result = saveObjects(objectsToSave);
        objectsToSave.length = 0;
    }
};
if (result == true) {
    console.log("saveInBackground success");
}


function saveObjects(objects) {

    Parse.Object.saveAll(...);
    ...
}

关于javascript - Parse.com 云代码 - saveAll 请求超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14041972/

相关文章:

添加三个输入的 Javascript 函数

javascript - 如何键入组件的样式属性以接受数组?

ios - 为什么搜索栏没有从解析中提取用户?

ios - PFQuery 的奇怪行为

JavaScript 闭包 : Returning a Function

javascript - 带有 Firebase 云消息传递的 Android WebView

javascript - NodeJS - 错误堆栈跟踪中的错误行号

swift - 如何访问函数内的变量然后使用它?

ios - 将单元格名称传递给 View Controller 旁边

swift - 新的解析框架没有 PFFFacebookUtils?