87,993
社区成员
发帖
与我相关
我的任务
分享






我来理解你的想法了,但是还是一样的哎,我觉得从find回调出来之后的datas就已经是object了,好像没什么办法了


即使我将它转为数组也没有值
return {
connect: function(info) {
SQLService.connect(info);
SQLService.test();
},
getPager: function(table) {
return new Promise(function(resolve, reject) {
var datas = {};
SQLService.find(table, function(err, results) {
datas.values = results;
});
console.log(typeof(datas));
resolve(datas);
});
}
};
function resolveAfter2Seconds() {
return new Promise(resolve => {
setTimeout(() => {
resolve([
{
name: '阿ad'
},
{
name: '啊的'
},
{
name: 'aaf'
}
]);
}, 2000);
});
}
async function asyncCall() {
console.log('calling');
var m = await resolveAfter2Seconds();
console.log(m);
// expected output: 'resolved'
return m;
}
a = asyncCall();
a.then(function($v) {
console.log(typeof($v)); // 这块显示为object
console.log(JSON.stringify($v));
console.log($v.length);
console.log($v[0]);
});
显示结果大致如下:
(3) [{…}, {…}, {…}]0: {name: "阿ad"}1: {name: "啊的"}2: {name: "aaf"}
length: 3
__proto__: Array(0)
(index):170 object
(index):171 [{"name":"阿ad"},{"name":"啊的"},{"name":"aaf"}]
(index):172 3
(index):173 {name: "阿ad"}name: "阿ad"__proto__: Object
不行哎,读不出来长度
,如何解决同关注
for (var i = 0; i < data.values.length; i++) {
var str = data.values[i].name;
console.log(str);
}