在现代网络浏览器中,假设我做了setTimeout10分钟(在12:00),5分钟后让计算机进入睡眠状态,当系统再次唤醒时会发生什么?如果它在10分钟之前(12:09)或之后(16:00)醒来会发生什么?
我问的原因是因为我想每10分钟要求一个新的身份验证令牌,我不确定浏览器是否会做正确的事情并且如果长时间醒来后立即请求新的令牌时间.
澄清:我不想使用cookies - 我正在尝试在这里建立一个Web服务; 是的,服务器将拒绝旧的和无效的令牌.
我需要迭代一些大型数组并将它们存储在API调用的主干集合中.如果没有使循环导致界面无响应,最好的方法是什么?
由于返回的数据太大,ajax请求的返回也会阻塞.我认为我可以将其拆分并使用setTimeout使其以较小的块异步运行,但有更简单的方法来执行此操作.
我认为一个Web工作者会很好,但它需要改变UI线程上保存的一些数据结构.我已经尝试使用它来执行ajax调用,但是当它将数据返回到UI线程时,仍然有一段时间界面没有响应.
提前致谢
问题
我一直在寻找Express.js的请求/响应超时,但一切似乎都与连接有关,而不是请求/响应本身.
如果请求需要很长时间,则应该超时.显然这不应该发生,但即使是一个简单的错误,因为如果没有调用回调或不使用路由处理程序res.send(),浏览器将一直等待回复.
空路由处理程序就是一个很好的例子.
app.get('/sessions/', function(req, res, callback){});
Run Code Online (Sandbox Code Playgroud)
固定
之前 我添加了以下内容app.use(app,router);,它似乎添加了超时功能.有没有人对此有任何经验/意见?
app.use(function(req, res, next){
res.setTimeout(120000, function(){
console.log('Request has timed out.');
res.send(408);
});
next();
});
Run Code Online (Sandbox Code Playgroud)
请注意,我已将超时设置为2分钟.
我正在尝试用图像精灵构建一个加载指示器,我想出了这个功能
function setBgPosition() {
var c = 0;
var numbers = [0, -120, -240, -360, -480, -600, -720];
function run() {
Ext.get('common-spinner').setStyle('background-position', numbers[c++] + 'px 0px');
if (c<numbers.length)
{
setTimeout(run, 200);
}else
{
setBgPosition();
}
}
setTimeout(run, 200);
}
Run Code Online (Sandbox Code Playgroud)
因此输出看起来像这样
我不得不使用setBgPosition(); 在其他内部保持这个循环运行所以现在我的问题是如何我想要[加载完成]后停止此循环?
我只想从setTimeout获取返回值,但我得到的是函数的整个文本格式?
function x () {
setTimeout(y = function () {
return 'done';
}, 1000);
return y;
}
console.log(x());
Run Code Online (Sandbox Code Playgroud) 我还是JQuery的新手,在让我的ajax示例工作的过程中,我被setTimeout搞定了.我把它分解到应该添加的地方"." 每秒钟到div.
相关代码分为两个文件.
的index.html
<html><head>
<script type='text/javascript' src='jquery.js'></script>
<script type='text/javascript' src='myCode.js'></script>
</head>
<body>
<div id='board'>Text</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
和myCode.js
(function(){
$(document).ready(function() {update();});
function update() {
$("#board").append(".");
setTimeout('update()', 1000); }
})();
Run Code Online (Sandbox Code Playgroud)
myCode.js文件正常工作,"update()"第一次运行,但从未再次运行.
我正在查看Web应用程序中的一些现有代码.我看到了这个:
window.setTimeout(function () { ... })
这是否只是立即执行功能内容?
我正在使用ajax和asp.net.我有一个javascript函数,它使用setTimeout创建许多其他javascript函数.发生异步回发后,我想禁用所有这些setTimeouted事件.我怎样才能做到这一点?
我有一个建议实现这样的超时:
$timeout(function() {
// Loadind done here - Show message for 3 more seconds.
$timeout(function() {
$scope.showMessage = false;
}, 3000);
}, 2000);
};
Run Code Online (Sandbox Code Playgroud)
有人可以告诉我使用它而不是使用setTimeout的原因/优势是什么?
我有以下场景:
setTimeout("alert('this alert is timedout and should be the first');", 5000);
alert("this should be the second one");
Run Code Online (Sandbox Code Playgroud)
我需要在setTimeout执行setTimeout中的代码后执行之后的代码.由于之后的代码setTimeout不是我自己的代码,我不能把它放在setTimeout中调用的函数中...
有没有办法解决?
settimeout ×10
javascript ×8
ajax ×1
angularjs ×1
arrays ×1
asynchronous ×1
backbone.js ×1
css ×1
delay ×1
express ×1
extjs ×1
jquery ×1
node.js ×1
postback ×1
response ×1
return ×1
timeout ×1
timing ×1