javascript - 解析云代码 - 从指针数组中删除指针

标签 javascript parse-platform parse-cloud-code

我正在使用 Parse 云代码在删除标签时清除指向“标签”对象的所有指针。调用了“beforeDelete”,我没有收到任何错误 + 控制台打印出正确的“Song”对象,它具有指向已删除“标签”的指针。

但是指针并没有从数组中移除。

Parse.Cloud.beforeDelete("Tag", function(request, response) {
    var query = new Parse.Query("Song");
    query.equalTo("tags", request.object);
    query.include(["tags"]);
     query.find({
           success: function(songs) {
              console.log(songs);
              for (var i = 0; i < songs.length; i++) {
                    songs[i].remove("tags",request.object);
                    songs[i].save();
              };
             response.success();

          },
          error: function(error) {
              response.error(error);
          }
     });
});

我做错了什么?

谢谢 沙尼

最佳答案

object.save(); 是异步的。您在保存操作完成之前调用 response.success()。您可以使用 query.each() :

var query = new Parse.Query("Song");
query.equalTo("tags", request.object);
query.include("tags");
query.each(function (song) {
  song.remove("tags",request.object);
  song.save();      
}).then(function() {
  response.success();
}, function(error) {
  response.error(error);
});

或者您可以使用 parallel promises

var _ = require("underscore");

var query = new Parse.Query("Song");
query.equalTo("tags", request.object);
query.include("tags");
query.find().then(function(songs) {
  var promises = [];
  _.each(songs, function(song) {
    song.remove("tags",request.object);
    promises.push(song.save());
  });
  // Return a new promise that is resolved when all of the saves are finished.
  return Parse.Promise.when(promises);

}).then(function() {
  response.success();
}, function(error) {
  response.error(error);
});

关于javascript - 解析云代码 - 从指针数组中删除指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26315038/

相关文章:

ios - 解析 PFQueryTableViewController loadNextPage() 重新加载 tableView 问题

parse-platform - 如何让 require() 在 Parse Cloud Code 中使用 node_modules?

javascript - Google Maps API v3 - 对齐折线边缘

javascript - Firefox 在使用 Canvas 时抛出错误 0x80004005

javascript - 你如何使用 html/angularjs 保存图像文件?

javascript - 无法通过解析获取 query.containedIn 查询中的 objectId?

javascript - get() 解析查询结果是否执行另一个数据库调用?

javascript - Parse.com/CloudCode promise 不太清楚

javascript - 用javascript替换html部分

Javascript style.color 不起作用