有没有sleep
比使用以下pausecomp
函数更好的方法来设计JavaScript (从这里开始)?
function pausecomp(millis)
{
var date = new Date();
var curDate = null;
do { curDate = new Date(); }
while(curDate-date < millis);
}
Run Code Online (Sandbox Code Playgroud)
这不是JavaScript中Sleep的重复- 动作之间的延迟 ; 我希望在函数中间实现真正的睡眠,而不是在执行代码之前的延迟.
我有一个搜索领域.现在它搜索每个keyup.因此,如果有人键入"Windows",它将使用AJAX搜索每个键盘:"W","Wi","Win","Wind","Windo","Window","Windows".
我希望有一个延迟,所以它只在用户停止键入200毫秒时搜索.
在函数中没有这个选项keyup
,我试过了setTimeout
,但它没有用.
我怎样才能做到这一点?
有没有类似于jQuery的JavaScript方法delay()
或wait()
(在特定时间内延迟执行脚本)?
有没有办法在JavaScript执行另一个操作之前在JavaScript中睡觉?
例:
var a = 1+3;
// Sleep 3 seconds before the next action here
var b = a + 4;
Run Code Online (Sandbox Code Playgroud) 我已经看过以下链接: Javascript-等待5秒钟,然后执行下一行
和许多其他堆栈溢出。我也尝试为此使用JS setTimeOut函数。
我尝试每3秒模拟来自Web服务的JS中的数据绑定。每次从WebService接收到此数据后,都会将该数据附加到div中。
但是,为了使用JS测试和附加此数据,我需要一些类似于Sleep()的函数。setTimeOut异步工作,因此循环的下一个迭代开始执行,并且无需等待。我们如何在JS / JQuery中实现这一点。
请检查以下代码片段:
linediagnosticsData = [];
linediagnosticsData.push({ Details: 'Complete - Go Live Date Unavailable', ItemStatus: 'Tick', Title: 'Checking for Asset/Product Information' });
linediagnosticsData.push({ Details: 'Not Available', ItemStatus: 'Warning', Title: 'Line Length Summary - ' });
linediagnosticsData.push({ Details: 'Subscribers speed test results are over 31 days old', ItemStatus: 'Warning', Title: 'Line Summary' });
linediagnosticsData.push({ Details: 'Found (MPF Customer)', ItemStatus: 'Tick', Title: 'Checking for User Credentials' });
linediagnosticsData.push({ Details: 'No related incidents identified', ItemStatus: 'Tick', Title: …
Run Code Online (Sandbox Code Playgroud)我希望能够做出与此类似的事情:
function testFunction() {
alert("Test");
}
if (x > y) {
wait(z);
testFunction();
}
Run Code Online (Sandbox Code Playgroud)
谢谢!