我想從循環中將對象推入數組中的最終結果。我知道從console.log所有的結果進入數組,但我不能讓我所需的數組擺脫雙循環用於任何事情。我明白你可以使用回調或承諾,我會採取任何解決方案(解析承諾安裝)。Javascript:解決異步循環,以在Parse.com中推送數組
代碼:
var arrayNames = {key: val}
var val = {k: v, k1: v, k2: v}
var array = [];
var find= function(arrayNames) {
_.mapObject(arrayNames, function (val, key) {
_.mapObject(val, function (v, k) {
var person = Parse.Object.extend("People");
var query = new Parse.Query(person);
query.equalTo("name", k);
query.find({
success: function (row) {
var rowsToUpdate = _.uniq(row);
array.push(rowsToUpdate);
console.log(array);
}
})
})
})
}
var newfunc = function(array){
//Do Something with the array that's full of the results from find();
}
實際上,這就是我在最近一次迭代中使用它的方式,我將對其進行編輯以反映這一點。當我使用控制檯記錄回調數量時,它會將每次推送發送到數組,而不是一個包含所有rowsToUpdate的單個數組。爲了清楚newfunc應該接收一個包含所有rowsToUpdate而不是'N'行到upDate的單個數組,並調用newfunc'N'次。 – rashadb