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