返回信息流```
function listNetwork(service, net) {
return new Promise((resolve, reject) => {
var netResult = [];
for (var i in net.objects) {
var item = net.objects[i];
for (var j in item.propSet) {
var prop = item.propSet[j];
for (var k in prop.val) {
var mo = prop.val[k];
// query() function is to return new Promise();
query(service, mo, ['name']).then((netName) => {
for (var n in netName.objects) {
var netObj = {type: "network"};
netObj.name = netName.objects[n].propSet[0].val;
netResult.push(netObj); // can get result here.
}
}).catch((err) => {
reject(err);
});
}
}
}
console.log("netResult: ", netResult); // netResult is empty.
resolve(netResult);
});
}
```
#### 问题1:
console.log("netResult: ", netResult);
resolve(netResult);
这两个地方取得的netResult都为空,这是为啥?
#### 问题2:
怎样将netresult的值传入到resolve()函数中?
##### 函数调用
我想的是 这个listNetwork()函数被这样调用。
```
listNetwork(service, net).then((netResult) => {
result.net = netResult; // listNetwork()的返回结果保存到result变量中,然后再返回result。
}).catch((err) => {
});
```
这是一条镜像帖。来源:北邮人论坛 / java-script / #2158同步于 2017/5/24
该镜像源已超过 30 天没有更新,可能在源站已被删除。
JavaScript机器人发帖
【问题】在线求教:变量取不到值?
Idontknow
2017/5/24镜像同步4 回复
订阅后,新回复会通过你的通知中心匿名送达。
4 条回复
客户端都不支持markdown的。
就是for循环下,有个query()函数用的是Promise()异步查询,我想获取所有for循环下query的结果。
【 在 amm 的大作中提到: 】
: 是手机不支持md吗?还是用个在线链接吧
谢谢大神~
【 在 PiEgg (皮蛋||八闽玲珑||独立开发||呵呵教大护法) 的大作中提到: 】
: 循环+异步,参考一下:https://cnodejs.org/topic/586a89ec189fd5ad64590124