标签: settimeout

如何暂停setTimeout调用?

可能重复:
javascript:pause setTimeout();

我正在使用jQuery并为我的网站开发通知系统.通知使用setTimeout函数自动淡出.

如何停止setTimeout调用的计时器?

例如,我想在鼠标悬停在通知上时暂停setTimeout调用并继续向下计数鼠标...

我用谷歌搜索"暂停setTimeout"没有运气.

我正在使用clearTimeout清除setTimeout调用,同时淡出mouseout上的通知但是暂停效果会很好.

有任何想法吗?

javascript jquery settimeout

8
推荐指数
2
解决办法
2万
查看次数

尽早执行settimeout

我正在使用debouncing来在超时后使用settimeout执行事件.我遇到的问题是,其他javascript事件期望这些事件同步发生.由于它们现在在超时后执行,我希望能够通过其他javascript事件过早地触发它们(因此那些需要它们的事件不会失败).

Anywhom,如果我这样做:

timeout = setTimeout(function() { alert('hi'); }, 10000);
Run Code Online (Sandbox Code Playgroud)

,我希望在10秒钟之前发生这种情况,我该怎么做?

如有必要,解决方案可能涉及jquery.谢谢!

编辑:是否可以通过访问超时对象来执行此操作?

javascript jquery settimeout

8
推荐指数
2
解决办法
8471
查看次数

JavaScript setTimeout()不会等待执行?

请考虑以下示例:

<script type="text/javascript">
    function alertBox(){
        alert('Hello World!');
    }
    function doSomething(){
        setInterval(alertBox(), 5000); //This is for generic purposes only
    };
    function myFunction(){
        setTimeout(doSomething(),3000);
    };

    myFunction();
</script>
Run Code Online (Sandbox Code Playgroud)

是什么导致它立即执行,而不是等待3秒设置,以及仅执行警报ONCE,而不是按预定的5秒间隔执行?

感谢您的任何帮助,您可以提供!

石匠

javascript callback settimeout setinterval

8
推荐指数
2
解决办法
7157
查看次数

foreach中的Javascript setTimeout:需要帮助创建一个闭包

我有这个功能

notes.forEach(function(note) {          
    setTimeout(function() {
        playNote(note);
    }, 1000);
});
Run Code Online (Sandbox Code Playgroud)

这不起作用.它同时播放所有音符,而不是按顺序播放它们之间的间隔为1秒.看起来我需要在这里使用一个闭包来完成这项工作.有人可以帮我修复这个功能,所以它会播放每个音符之间的延迟音符吗?

javascript closures settimeout

8
推荐指数
2
解决办法
6970
查看次数

如何知道计时器在javascript中是清除还是超时?

好的,非常简单的问题.我在javascript参加速成课程.

如果我 timer = setTimeout(..., 500)用来设置定时器,然后clearTimeout(timer)清除定时器,定时器的整数值不会改变,所以我的问题是如何知道定时器是超时还是清除?

我想使用if (timer) {...},但显然正整数总是返回true.

javascript settimeout

7
推荐指数
2
解决办法
7624
查看次数

Javascript setTimeout意外输出

我一直在使用在我的应用程序中使用setInterval(fn,delay)函数的脚本,在阅读了setTimeout和JS如何工作后,我遇到了一些奇怪的结果,所以我做了一个测试:这是jsfiddle https:// jsfiddle.净/ jyq46uu1/2 /

和建议的代码:

var limit        = 1000000000;
var intervals    = 0;
var totalTime    = new Date();
var startTime    = new Date();

var uid = setInterval(
    function () {
        // final lap?
        if (intervals == 9) clearInterval(uid);

        for (i = 0; i < limit; i += 1) {
            // just working the CPU
        }
        // reduce the iterations
        limit = limit / 10;   
        intervals += 1;        

        console.log('Interval ' + intervals +' Time elapsed : ' + (new Date() …
Run Code Online (Sandbox Code Playgroud)

javascript timer settimeout

7
推荐指数
1
解决办法
176
查看次数

setTimeout与0ms之后是否需要clearTimeout?

正如我已经了解的那样(这里:https://www.youtube.com/watch?v = 8aGhZQkoFbQ),在某些情况下,调用setTimeout时延迟0ms(因为事件循环)会很有用.

现在,每当我使用时,setTimeout我也会小心地clearTimeout在适当的位置打电话,以确保没有任何东西留在某处,并在我不希望它被执行的地方执行.

所以我的问题是:clearTimeoutsetTimeout0ms 之后打电话是否有必要(有意义吗?)传递的函数会立即附加到回调队列中,因此我认为clearTimeout不会(也不能)执行任何操作.或者clearTimeout甚至可以从回调队列中删除传递的函数(因此在超时到期之后但在函数执行之前)?

第二个问题:即使它没有做任何事情,clearTimeout在这些情况下总是要求"最佳做法" 吗?

javascript settimeout

7
推荐指数
2
解决办法
4549
查看次数

JS setTimeout()替代

就像我在这里解释的那样,我不能再使用window.setTimeout()和任何窗口经典函数,如clearInterval等...); 但我需要调用JS块代码作为异步.

这就是我使用XHR请求的原因.

使用XHR实现window.setTimeout()的智能替代方法的最佳方法是什么?

// Not working :(
setTimeout(function(){ 
  document.getElementById("messageTimer").innerHTML = "Happy New Year ! (old version)";
}, 10);

// with or without jQuery - but XHR
jQuery.ajax({
    url: "/local/url/easy",
    success: function(html, textStatus, jqXHR) {
            // a loop ?
            // timeout done ?
            document.getElementById("messageTimer").innerHTML = "Happy New Year ! (working version)"
 }});
Run Code Online (Sandbox Code Playgroud)

我的小提琴测试:https://jsfiddle.net/mlefree/xzh3w2we/

TKS

javascript xmlhttprequest settimeout

7
推荐指数
1
解决办法
2万
查看次数

Javascript setTimeout立即在React Native中运行

我的问题是setTimeout运行吗?about 5 seconds较早。例如,当我将其设置为时5 seconds,它将立即运行,但是当我在上时15 seconds,它将在10 seconds以后运行。

我什至调查了这个问题:React Native中的setTimeout,但是我仍然无法解决问题

changeNotify() {
    let that = this;
    console.log("before");
    setTimeout(function () {
        console.log("After");
        that.setState({notifyModal: false})
    }, 5000);
}
Run Code Online (Sandbox Code Playgroud)

并在渲染

<Button
   title='change'
   onPress={() => this.setState({notifyModal: true},()=>this.changeNotify())}
/>
Run Code Online (Sandbox Code Playgroud)

javascript settimeout react-native

7
推荐指数
1
解决办法
661
查看次数

setTimeout的回调代码运行速度比没有它时要慢得多

setTimeout在React上使用Javascript中的函数时,我们正在努力解决一个奇怪的问题。
由于在中使用代码setTimeout,因此运行速度要比不使用代码时运行速度慢得多setTimeout

作为比较,该性能导致:

使用setTimeout1391毫秒,
不使用setTimeout15毫秒

在API回调中(例如axios),也会发生setTimeout版本!


下面显示了一个简单的示例代码:
codesandbox

谁能解释发生了什么事?

import React, { useState } from "react";
import ReactDOM from "react-dom";

function App() {
  const [value, setValue] = useState("");
  const [time, setTime] = useState("");

  const startSample = () => {
    const startTimeStamp = new Date().valueOf();
    for (let i = 0; i < 5000; i++) {
      setValue(`test-${i}`);
      // console.log(`test-${i}`);
    }
    const endTimeStamp = new Date().valueOf();
    setTime(`${endTimeStamp - startTimeStamp}ms`);
  }; …
Run Code Online (Sandbox Code Playgroud)

javascript performance settimeout reactjs

7
推荐指数
1
解决办法
76
查看次数