js中怎么让程序暂停时间?

 我来答
教育小百科达人
2018-03-12 · TA获得超过156万个赞
知道大有可为答主
回答量:8828
采纳率:99%
帮助的人:477万
展开全部

异步执行的函数需要使用回调来获取返回值你那种想等待回调函数执行后再把结果作为返回值的想法是无法实现,并且是极不可取的因为你并不知道需要多久该回调函数才能执行,让主线程阻塞在这儿等待不是一个正确的做法。

正确的做法还是在回调函数中获得值进行处理推荐写法:

var addre ="";var bm = new BMap.Map("container");gpsxy = function (xx,yy,i,callback){//添加一个参数作为回调函数,该函数可以获取addre参数 

var gpsPoint = new BMap.Point(xx,yy);

bm.clearOverlays(); var marker = new BMap.Marker(gpsPoint); bm.addOverlay(marker); 

bm.setCenter(gpsPoint); var gc = new BMap.Geocoder(); 

gc.getLocation(gpsPoint, function(rs){ var addComp = rs.addressComponents; 

addre = addComp.province + ", " + addComp.city + ", " + addComp.district + ", " + addComp.street + ", " + addComp.streetNumber; check(); 

if(callback) callback(addre);//把addre传递到回调函数中,这样就可以在函数外部使用返回值了 }); }

调用示范:gpsxy(10,10,1,function(addre){ alert(addre);//这儿就可以使用这个值了 });

百度网友0ba9ea42f
2018-03-09 · TA获得超过240个赞
知道小有建树答主
回答量:151
采纳率:0%
帮助的人:173万
展开全部
方案1:setTimeout("pause()",1000);
然后在你需要暂停的地方增加pause(),时间可自己改为想要的时间
方案2:在需要暂停的地方使用alert()弹出一个框,必须等这个框人为点确定后,才会继续往下执行
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式