我是jquery的新手,我正在努力从jquery promise获得数组函数返回。函数返回undefined,但我想要数组返回。任何人都可以打击为什么我得到未定义的回报?谢谢
contractEnd
答案 0 :(得分:0)
当你在$ .each中返回windValue时,你不再具有范围功能了。
在您的第一个then
结束时,下一个承诺没有返回值,因此第二个版本的windValue为undefined
。
你不必在$ each中返回windValue,你只需要完成你的迭代,然后返回第二个值。
function getWinddirection() {
//first change
var windValue = [];
actualData.then(function(result) {
$.each(result["timeseries"], function(i, Daydata) {
for (var i = 0; i < Daydata.length; ++i) {
if (Daydata[i].validTime.split("T")[1] == "12:00:00Z") {
//second modification
windValue.push(Daydata[i].wd)
} else {}
}
})
//third modification
return windValue;
}).then(function(windValue) {
return windValue;
})
}