1
因此,使用parse.com,我正在做一些嵌套查詢...基本上,獲取一個對象,然後檢索它的關係並執行一些操作。將值傳遞給嵌套的parse.com查詢回調
pageQuery.find({
success: function (results) {
var pages = [];
for (var result = 0; result < results.length; result++) {
var resArrayLength = pages.push(results[result].toJSON());
var indexOfLastPush = resArrayLength - 1;
console.log("resArrayLength = " + resArrayLength);
pages[indexOfLastPush].scrapeRules = new Array();
console.log("index of last push set to " + indexOfLastPush);
var relation = results[result].relation("RulesForPage");
//get the related scrape rules
relation.query().find({
success: function (rules) {
console.log("Found " + rules.length + " rules");
for (var i = 0; i < rules.length; i++) {
console.log("rule index = " + i);
console.log("Found rule " + rules[i].id);
pages[indexOfLastPush].AllRules = new Array();
pages[indexOfLastPush].scrapeRules.push(rules[i].id);
console.log("pushed rule " + rules[i].get("name") + " to page at index " + indexOfLastPush);
}
}
});
}
我看到的問題是,我想indexOfLastPush跟蹤我需要一個數組的索引,但該值已經由回調已經發生的時間而改變。
如何將它傳遞給「成功」回調,以便我有我需要的索引?
更新:感謝@cggaurav的優秀提示。爲什麼看起來每個JavaScript問題的答案都是將您的代碼封裝在一個匿名函數中?
感謝您的回覆......在閱讀文章時,我很難想象如何實施該解決方案。我能否給你一些(僞)代碼給我指出總體方向? – seanicus
(函數(索引) {0}使用'index'在這裏執行relation.query() })(indexOfLastPush); – cggaurav
ahhhhhh .... gotcha。謝謝您的幫助! – seanicus