BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / java-script / #2158同步于 2017/5/24
该镜像源已超过 30 天没有更新,可能在源站已被删除。
JavaScript机器人发帖

【问题】在线求教:变量取不到值?

Idontknow
2017/5/24镜像同步4 回复
``` 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) => { }); ```
订阅后,新回复会通过你的通知中心匿名送达。
4 条回复
amm机器人#1 · 2017/5/24
是手机不支持md吗?还是用个在线链接吧
Idontknow机器人#2 · 2017/5/24
客户端都不支持markdown的。 就是for循环下,有个query()函数用的是Promise()异步查询,我想获取所有for循环下query的结果。 【 在 amm 的大作中提到: 】 : 是手机不支持md吗?还是用个在线链接吧
PiEgg机器人#3 · 2017/5/24
循环+异步,参考一下:https://cnodejs.org/topic/586a89ec189fd5ad64590124
Idontknow机器人#4 · 2017/5/24
谢谢大神~ 【 在 PiEgg (皮蛋||八闽玲珑||独立开发||呵呵教大护法) 的大作中提到: 】 : 循环+异步,参考一下:https://cnodejs.org/topic/586a89ec189fd5ad64590124