如何赚$q.在这种情况下都有效
How to make $q.all work in this case?
我正在尝试使用$q。所有这些都在下面的代码中。但我想我误解了一些关键的想法,因为它没有像我预期的那样工作。如果有人能给我一些建议,我将非常感激。
问题在$q.all(toSend.pie.slices).then()
:
var someData = {...};
var toSend = {
pie: {
slices: []
}
};
toSend.pie.slices = generatePieSlice(someData);
$q.all(toSend.pie.slices).then(function(data){
if(data) {
console.log(data); // this is undefined :(
//do something else
}
});
function generatePieSlice(data) {
var arr = [];
if(data) {
angular.forEach(data, function(resp_o, resp_n){
arr.push({
name: resp_o.display,
marketValue: resp_o.value,
percentage: resp_o.percentage,
key: resp_n
});
});
}
$q.all(arr).then(function(data) {
if(data) {
console.log(data); // this gives me with the correct data
return data;
}
});
}
感谢所有评论者的帮助。这是我对其他感兴趣的人的最终解决方案:)
var someData = {...};
var toSend = {
pie: {
slices: []
}
};
$q.all({
pieSlices: generatePieSlice(someData)
}).then(function(data){
if(data) {
toSend = {
pie: {
slices: data.pieSlices
}
};
// deferred.resolve(toSend) or something else :)
}
});
function generatePieSlice(response) {
var arr = [];
if(response) {
angular.forEach(data, function(resp_o, resp_n){
arr.push({
name: resp_o.display,
marketValue: resp_o.value,
percentage: resp_o.percentage,
key: resp_n
});
});
}
return arr;
}
相关文章:
- 如何解决这种情况下的非法调用类型错误
- 为什么在这种情况下,“This”确实充当javascript函数中的私有成员
- 在这种情况下,如何正确对齐显示
- 为什么jQuery悬停方法在这种情况下不起作用
- 在这种情况下,如何获取选定的表tr行
- parseJSON在一种情况下有效,而在另一种情况中无效
- 如何使多个工作在这种情况下
- 在这种情况下如何使用闭包
- 为什么在这种情况下要向JQuery添加两个链接
- 为什么push方法没有'在这种情况下不起作用:[].推
- 在这种情况下,*[Symbol.iterator]的含义是什么
- 在这种情况下,调用阻止默认值
- 如何停止两个按钮执行相同的工作?在这种情况下,它们都会滚动到顶部
- 在这种情况下使用onclick事件处理程序可以接受吗
- 如何避免在这种情况下修改事件对象
- 在这种情况下,如何将字符串添加到函数中 php
- 在这种情况下,“foo[x]”是什么意思?
- 在这种情况下,我如何在jquery中实现限制字符
- 在这种情况下,检测窗口加载的有效方法
- 如何赚$q.在这种情况下都有效