0
请看下面的代码。它是一个使用一些下划线功能的Backbone/Parse代码。 我想遍历一个Parse类来检索该类中所有对象的“firstName”属性。 我有2个问题。 正如评论所指出的那样,第一个名称正确地检索了名字,但它重复了它们。所以如果有5个对象,它将检索5个firstName * 5。这里有一个迭代问题。这与控制台日志一起显示。返回取回值
第二个问题是,我尝试将firstName值推入数组中,然后将其返回,以便稍后在代码中使用testt变量。但用控制台日志检查测试内容将发送消息而不是名字列表。 你是否看到了如何解决这个问题?
var DoopizCollection = Parse.Collection.extend({
model: Subscribers
}
);
var doopizlist = new DoopizCollection();
var testt;
testt = doopizlist.fetch({
success: function(doopizlist) {
var results = [];
doopizlist.each(function(object) {
results.push(doopizlist.pluck('firstName'));
console.log(doopizlist.pluck('firstName')); // logs 2 duplicate arrays
});
return results;
},
error: function(doopizlist, error) {
console.log("error"); // The collection could not be retrieved.
}
});
console.log(testt); // logs "a b.promise...." message instead of firstNames
非常感谢,你知道我在哪里可以学到更多关于这个承诺的行为吗? – Benj
当然,承诺并不仅限于Backbone.js。你会发现很多JavaScript库(如jQuery)利用promise。以下是我在Google上找到的链接:http://blog.parse.com/2013/01/29/whats-so-great-about-javascript-promises/如果您没有找到特别有用的方法,请尝试使用Google搜索功能“Javascript Promises “或”Javascript延期“。 – Johnny
感谢但关于第二个问题:testt.then记录对象对象。似乎它不能真正访问上面返回的值。我不知道为什么。 – Benj