0

在 parse.com 上,我试图保存一个对象,其中包括:

  • 消息体,
  • 发件人姓名,
  • 发件人 ID,
  • 和收件人姓名

    到一个名为“消息”的类。该对象被正确保存,但是,当我尝试使用 for 循环来保存 3 个不同的副本时,每个副本都有一个不同的随机接收者,只有第一个对象被保存。

randUsers 是一个包含三个随机用户的数组。

我该如何解决?

function sendLean(leanBody, leanSenderName, leanSenderId, randUsers){
    var Messages = Parse.Object.extend("Messages");
    var messages = new Messages();
    for(var i = 0; i < 3; ++i){

      messages.set("messageBody", leanBody);
      messages.set("recipientId", randUsers[i]);
      messages.set("senderName",  leanSenderName);
      messages.set("senderId", leanSenderId);

      messages.save(null, {
        success: function(messages) {
          // Execute any logic that should take place after the object is saved.
          alert('New object created with objectId: ' + messages.id);
        },
        error: function(messages, error) {
          // Execute any logic that should take place if the save fails.
          // error is a Parse.Error with an error code and message.
          alert('Failed to create new object, with error code: ' + error.message);
        }
      });
    }
4

1 回答 1

2

您需要将Messages对象的每个新实例都放在 for 循环中。改变

var messages = new Messages();
for(var i = 0; i < 3; ++i){

for(var i=0,l=randUsers.length; i<l; i++){
  var messages = new Messages;

ifrandUsers是一个数组,或者

for(var i in randUsers){
  var messages = new Messages;

如果randUsers是一个对象。

于 2014-10-14T19:49:09.470 回答