我有以下JS代码,这些代码使用API来获取一些JSON对象。
function countProperties(obj) {
var count = 0;
for(var prop in obj) {
if(obj.hasOwnProperty(prop))
++count;
}
return count;
}
experts = {};
for(var key in data) {
(function(){
var k = key;
$.post('../api/counsellor/slots/'+data[k].id,{"date":"2018-12-21","counsellor_id":data[k].id}, function(status,message){
experts[k] = countProperties(status);
});
})();
}
console.log(experts)
但是console.log(experts)
显示并清空对象。但是,在for循环中写入时,它将显示正确的对象。
这是怎么回事?