javascript - 将 $promise 数据放入 Javascript 数组中

标签 javascript angularjs foreach promise angular-promise

我正在从这样的资源中获取数据:

var result = someService.getData();
result.$promise.then(function() {
    console.log(result);
});

这给了我以下结果:

1: "200"
2: "1810"
$promise: Object
$resolved: true
__proto__: f

我需要将这些数据放入一个 javascript 数组中,如下所示:

[[1, 200], [2, 1810]]

我试图在 forEach 中这样做:

var data = [];
angular.forEach(monthly, function(value, key) {
    var tmp = [];
    tmp[0] = key;
    tmp[1] = value;

    data.push(tmp);
});

但是 $promise$resolved 属性也出现在 foreach 中。这看起来也不是最好的方法。

我应该如何以正确的方式执行此操作?

最佳答案

简短的回答是调用 .toJSON() - 这样做会去除 $promise 和 $resolved 属性并允许您正确地使用 angular.forEach就像在旧版本的 Angular 中一样。

类似于:

var result = someService.getData();
result.$promise.then(function(value) {
    console.log(value.toJSON());//will strip the annoying properties, use here
});

关于javascript - 将 $promise 数据放入 Javascript 数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25595191/

相关文章:

javascript - 传入数据和导出对象的最佳方式是什么?

javascript - 如果返回的函数没有存储在某个地方,那么它会去哪里?

angularjs - Angular 4 + Material Design - 可移除芯片

angularjs - 如何测试 Angular 装饰器功能

javascript - 如何循环遍历 foreach() 内的元素

swift - 使用 SwiftUI ForEach 从 NSOrderedSet 获取字符串值

API 的 Javascript 效率

javascript - 为什么 "this"关键字在这里不起作用?

javascript - ngRepeat 无项目时处理

php - 获取foreach php中的最后一项