为了账号安全,请及时绑定邮箱和手机立即绑定

JS如何把回调闭包形参传递给外部环境的变量

JS如何把回调闭包形参传递给外部环境的变量

qq_遁去的一_1 2018-11-15 18:15:30
如题,请问如何把闭包里面的形参数据传递给外部变量var outer;var map = new BMap.Map("allmap");var point = new BMap.Point(116.331398,39.897445);var gc = new BMap.Geocoder();gc.getLocation(point, function(rs){   var addComp = rs.addressComponents;    //how to store this string to variable outer;   //outer = addComp.province + ", " + addComp.city + ", " + addComp.district + ", " +      addComp.street + ", " + addComp.streetNumber);});使用赋值只能保证在闭包内数据有效,退出后就无效,使用new分配内存也无果,时间仓促来不及学习JS所以厚着脸皮来segmentfault问一下>3<
查看完整描述

1 回答

?
萧十郎

TA贡献1815条经验 获得超13个赞

用ajax async:false但是问题依旧? 你把代码贴出来看看,按照常理来说应该是可以的。
其它的方法
1:可以在promise的then逻辑中处理异步值以及和异步值有关的逻辑。
2:用generator配合yield同步化书写的方式处理你的逻辑
3:直接用async函数也可以。

查看完整回答
反对 回复 2018-12-15
  • 1 回答
  • 0 关注
  • 441 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信