js for循环 本次还没执行完成就执行下次循环

zjc_941122 2017-01-05 03:10:21
代码:

结果为:


其中myGeo.getPoint为百度地图api中的函数
111都没打印就直接跳往下一次循环了
我想执行完myGeo.getPoint里面的再执行下一次循环
各位大哥知道怎么弄不?
求指点啊
...全文
1377 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
天际的海浪 2017-01-05
  • 打赏
  • 举报
回复
myGeo.getPoint()中的回调函数是异步执行的,要用函数递归的方式循环。

function loop(i) {
	//其它代码
	console.log("循环"+i);
	myGeo.getPoint(location,function (point) {
		console.log(111);
		//其它代码
		if (i < obj.length)
			loop(i+1);
	});
}
loop(0);
ddgx 2017-01-05
  • 打赏
  • 举报
回复
明显myGeo.getPoint是个异步函数

87,922

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧