【发布时间】:2016-04-04 11:16:43
【问题描述】:
我有一个关于在 console.log() 中显示数组长度的问题。
这是一个简单的例子:
vm.list = CrudService.getAllData();
function getAllFonds() {
return ResService.names.query(
succResp,
errResp
);
}
function succResp(resp) {
return resp;
}
function ResService($resource, baseUrl) {
return {
names: $resource(baseUrl + '/api/list/:Id', {
Id: '@Id'
}, {
'update': {
method: 'PUT'
}
}),
....}
}
$log.info(vm.list);
当我打开控制台时,只会显示:
Array [ ]
只有当我点击“数组”时,我才会在右侧看到数组包含 47 个对象。
是否有可能在控制台中显示:
Array [47]
?
编辑:
当我使用时:
$log.info(vm.list.length);
它返回 0。
【问题讨论】:
-
CrudService.getAllData对我来说似乎是asynchronous..你可以使用.then -
分享
getAllData的实现 -
@RayonDabre 我做到了!见上面我的代码 sn-p。
-
您遇到的这个问题实际上与 Array.length 属性无关。您的问题源于异步调用。您的浏览器巧妙地在控制台中填充日志变量这一事实是您的浏览器的一个功能,并且它本身就是在您的异步调用之后填充它。您需要在完成异步调用后实现日志记录。我自己问了这样一个问题here据我所知,您应该接受此处给出的答案之一,并查看与您的问题相关的问题
标签: javascript arrays angularjs javascript-objects console.log