我無法弄清楚爲什麼我的數據沒有被推入我的新陣列,「結果」。 newArr [0] .mscd.g [i]是幾個對象的列表。問題與推送數據到一個新的陣列,而在承諾鏈
var axios = require('axios');
var moment = require('moment');
var _ = require('lodash');
var getData = function() {
return getNBASchedule().then(function(payload) {
return filterByMonth('January', payload);
}).then(function(result) {
return result
});
}
....
getData從baseURL獲取數據並返回對象列表。
var getMonthlySchedule = function(data){
var results = [];
var newArr = data.slice(0, data.length);
for (var i = 0; i <= newArr[0].mscd.g.length; i++) {
if (newArr[0].mscd.g[i].v.tid === 1610612744 || newArr[0].mscd.g[i].h.tid === 1610612744) {
results.push(newArr[0].mscd.g[i]); <---- //does not seem to work
// however if I were to console.log(newArr[0].mscd.g[i],
// I would see the list of objects)
}
}
return results; <-- //when i console at this point here, it is blank
};
var getSchedule = function() {
return getData().then(function(pl) {
return getMonthlySchedule(pl)
})
};
var monthlyResults = function() {
return getSchedule().then(function(r) {
console.log("result", r)
return r
});
};
monthlyResults();
嘿@ jfriend00,我已經實現了你的建議,但是我還沒有得到結果。我猜我的問題在於我的getMonthlySchedule函數中的某處,特別是當我迭代前一個承諾getData()給出的數據時; –