function getTotal.getValues()是一个服务器调用,返回"一个","两个","三个" ......"九"。我可以用console.log(res)打印它们。但是,似乎我无法将它们推入runTest函数内创建的变量v中。在此代码中,console.log(r)不会打印任何内容,因为return v为空。任何想法?
var test = [1,2,3,4,5,6,7,8,9];
function runTest(val) {
var v = [];
val.forEach(function(t) {
getTotal.getValues(t).then(function(res) {
//console.log(res);
v.push(res);
});
});
return v;
}
runTest(test).forEach(function(r) {
console.log(r);
});
答案 0 :(得分:1)
您是否在角度forEach和javascript forEach之间出错。
Angular forEach应该是这样的。我看不到有角度的每个我的代码片段。
angular.forEach(test, function(value, key) {
console.log(value);
});
答案 1 :(得分:0)
这是你的forEach函数的样子:
var test = [1,2,3,4,5,6,7,8,9];
test.forEach(function logArrayElements(element, index, array) {
console.log("a[" + index + "] = " + element);
});
// logs:
// a[0] = 1
// a[1] = 2
// a[2] = 3
https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach
但是如果你想使用angular.forEach(),请参阅: https://docs.angularjs.org/api/ng/function/angular.forEach
祝你好运!