首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在javascript中暂停执行?

如何在javascript中暂停执行?
EN

Stack Overflow用户
提问于 2016-04-26 22:32:46
回答 1查看 65关注 0票数 0

我的程序在每次迭代操作部分url后打开2-7个网页(在url中增加日期值)。我希望我的程序在打开下一个url之前暂停。打开URL 1 ->等待1.5秒->打开URL 2...etc

我的javascript函数如下所示:

代码语言:javascript
运行
复制
function submitClicked(){
save current date in URL as variable
loop(4 times){
window.open(urlString); //open the initial URL
var newDate = getNextDay(date);
urlString.replace(date, newDate); (ex: if 2016-12-31 then replace it in URL with with 2017-01-01)
**wait 1.5 seconds**
}

function getNextDay(date){
...
return result (String value)
}

基本上,我想让它在循环的每一次迭代结束时暂停1.5秒。我用Java做了同样的程序,只使用了Thread.sleep(1500);

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-04-26 22:42:12

您永远不要试图阻止JavaScript中的线程执行,因为这会导致浏览器感到口吃,并且通常会为用户提供非常糟糕的体验。您可以使用setInterval重构以防止这种情况发生。

代码语言:javascript
运行
复制
arr = ['http://site1', 'http://site2', 'http://site3'];
timer = null;

function instantiateTimer(){
  timer = setInterval(openPage, 1000); // 1 second
}

function openPage(){
  if(arr.length > 0){
    page = arr.pop();
    window.open(page) // some browsers may block this as a pop-up!
  }else{
    clearInterval(timer);
  }
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36876976

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档