只有第一个对象保存在javascript for循环中 [英] only first object getting saved in javascript for loop
本文介绍了只有第一个对象保存在javascript for循环中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
在parse.com上,我试图保存包含以下内容的对象:
On parse.com, Im trying to save an object which includes:
- 邮件正文,
- 发件人姓名
- 发件人ID,
-
和收件人姓名
- a message body,
- the senders name,
- the senders id,
and the recipients name
转到称为消息"的类.该对象被正确地保存,但是,当我尝试使用for循环以保存3个不同副本且每个副本具有不同且随机的收件人时,仅保存第一个对象.
to a class called "Messages." The object is getting saved correctly, however, when i try to use a for loop in order to save 3 different copies each with a different and random recipient, only the first object gets saved.
randUsers是一个具有三个随机用户的数组.
randUsers is an array with three random users.
我该如何解决?
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);
}
});
}
推荐答案
您需要Messages
对象的每个新实例都位于for循环内.更改
You need each new instance of your Messages
object to be inside your for loop. Change
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;
如果randUsers
是一个数组,或者
for(var i in randUsers){
var messages = new Messages;
如果randUsers
是对象.
这篇关于只有第一个对象保存在javascript for循环中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文