标签: settimeout

似乎无法将函数传递给node.js(TypeScript)中的setTimeout参数数组

这有效:

function test(msg:string){
   console.log(msg);
}

setTimeout(test, 1000, ["Hi!"];
Run Code Online (Sandbox Code Playgroud)

...它会打印出“嗨!” 一秒钟后到控制台。

这也有效:

function test(){
   console.log("Hi!");
}

function callTest(next: () => void){
   next();
}

callTest(test);
Run Code Online (Sandbox Code Playgroud)

它还打印出“Hi!” 到控制台。

以下结果会导致错误“TypeError:next 不是函数”。为什么?

function test(){
   console.log("Hi!");
}

function callTest(next: () => void){
   next();
}

setTimeout(callTest, 1000, [test]);
Run Code Online (Sandbox Code Playgroud)

对我来说它确实看起来像一个函数!如果第一个代码片段有效,则表明我通常具有正确的形式来使用 setTimeout 并向回调发送参数,而第二个代码片段表明这是调用作为参数传入的函数的正确形式 - 为什么不'我在第三个代码片段中使用 setTimeout 有效吗?

javascript settimeout node.js typescript

0
推荐指数
1
解决办法
2610
查看次数

如何延迟 Angular/Typescript 中函数的执行

只能在这方面找到 JS 的东西。我只有重新加载页面元素的基本功能,我想将它们延迟 1-2 秒以等待 http 调用通过。我尝试了这个(从 rxjs 导入)但它根本不起作用

    setTimeout(function () {
      this.clearGroups();
      this.prepareRow();
      this.prepareGroups(); 
    }, 2000);
Run Code Online (Sandbox Code Playgroud)

timedelay settimeout typescript angular

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

setTimeout并单击

$(document).ready(function() {
    $(".rshownews").click(function() {
        window.setInterval(function() {ajaxselectrss($(this).attr("title"))}, 1000);
    });
});

 function ajaxselectrss(rssurlvar) {
  var ajaxRequest;  // The variable that makes Ajax possible!

 try{
  // Opera 8.0+, Firefox, Safari
  ajaxRequest = new XMLHttpRequest();
 } catch (e){
  // Internet Explorer Browsers
  try{
   ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
  } catch (e) {
   try{
    ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
   } catch (e){
    // Something went wrong
    alert("Your browser broke!");
    return false;
   }
  }
 }
 // Create a function that will receive data sent from the server
 ajaxRequest.onreadystatechange …
Run Code Online (Sandbox Code Playgroud)

javascript ajax jquery settimeout

-1
推荐指数
1
解决办法
2260
查看次数

使用setTimeout()进行Javascript回调地狱

阿罗哈.这是我潜伏之后的第一个问题.我为这个问题的详细但直接的形式道歉 - 以及对可接受的答案的限制 - 但我在这里做出贡献.我有一个问题,其他问题(例如如何避免在Node.js中的异步函数的长嵌套Javascript中的链式回调可读性?)不满意我的回答.

我想执行几个Javascript回调,以便我有一个接一个发生的四个动作的序列.这是来源:

var self = this;
fade(div, fadeIn, -20, function() {
  load(unload, dataOut, -10, function() {
    load(self, dataIn, 10, function() {
      fade(div, fadeOut, 20),0);
      unload = self;}
    );}
  );}
);
Run Code Online (Sandbox Code Playgroud)

除了内部语义细节之外,load()和fade()函数非常相似,它们看起来与此类似:

function load(menuCategory, data, step, callback) {
  menuCategory.parentNode.style.width = data+"px";
  data += step;
  if(dataIn <= data && data <= dataOut) {
    setTimeout(function() { load(menuCategory,data,step,callback) }, 15);
  } else if(callback && (typeof(callback) == 'function')) { 
    callback();}
}
Run Code Online (Sandbox Code Playgroud)

我有几个问题与这个混乱有关,但首先让我给你我不寻找的答案.使用jQuery的答案是不可接受的.使用其他计时或"同步"框架或模块的答案是不可接受的.质疑阻止执行的原因的答案是不可接受的.使用Javascript以外的语言的答案是不可接受的.非抽象答案是可以接受的,但最终的解决方案需要尽可能抽象,这意味着答案必须能够对各种相似但略有不同的行为采取行动.

这是我的主要问题:是否有一个函数/对象可以用来顺序应用这些操作,以减少这里的回调?换句话说,如果对象/函数能够同步执行每个动作,因为它是通过它单独迭代(即传递给它),对象会是什么样子?

次要问题:是否有人知道这个回调业务在其他语言中看起来像goto()多少?意思是,这种回调嵌套对我来说感觉非常尴尬和不优雅.是否有开发或已经开发的Javascript语言结构可以减少这种疯狂的业务?回调嵌套是一个最难遵循的逻辑流程.这感觉很尴尬.

我的目标是一个紧凑,优雅,有吸引力的本土Javascript对象/函数 - 我可以在for()循环或等效函数中调用 …

javascript callback settimeout

-1
推荐指数
1
解决办法
1721
查看次数

settimeout javascript无法正常运行?

我使用以下代码向用户显示一些文本.

基本上我需要展示的是:

1 2 3 4

但是这段代码显示,

1 4

这是代码:

    <script>
    function myFunction() {
    setTimeout(function() {
      document.getElementById('p').innerHTML = "1";
    }, 2000);

    setTimeout(function() {
      document.getElementById('p').innerHTML = "2";
    }, 4000);

    setTimeout(function() {
      document.getElementById('p').innerHTML = "3";
    }, 4000);

    setTimeout(function() {
      document.getElementById('p').innerHTML = "4";
    }, 4000);
    };
    </script>


<p id="p"></p>

<input onclick="myFunction()" type="submit" />
Run Code Online (Sandbox Code Playgroud)

有谁知道为什么会这样?

提前致谢.

javascript settimeout

-1
推荐指数
1
解决办法
91
查看次数

如何设置超时功能

如何设置500的超时功能:

$('.menu ul li').on('click', function(){
   $(container).removeClass('menu-open');
});
Run Code Online (Sandbox Code Playgroud)

javascript jquery settimeout

-1
推荐指数
1
解决办法
97
查看次数

setTimeout返回的数字是什么意思

通常,如果要稍后取消超时,则将setTimeout分配给变量.

我在控制台中写了一个简单的setTimeout,令我惊讶的是,控制台返回了一个数字.这个号码是什么意思?

<< setTimeout(function(data){console.log(data)},2000,"data passed as arg");
>> 114
Run Code Online (Sandbox Code Playgroud)

javascript settimeout

-1
推荐指数
1
解决办法
336
查看次数

使用setTimeout在Javascript中提取结果时出错

我的脚本使用setTimeout函数时出错

例如,我的脚本就像

function student() {
    var obj = {
      name: "Mary", 
    number: +44 26281001
    }
 return obj  
}
Run Code Online (Sandbox Code Playgroud)

我想延迟执行该函数4秒钟,然后保存到变量x.我写了以下函数:

var x = setTimeout(student(), 4000);
Run Code Online (Sandbox Code Playgroud)

它返回一个数字1280,然后4秒后返回错误:

Uncaught SyntaxError:意外的标识符

什么是错误,我该如何解决?非常感谢您的帮助.

javascript settimeout

-1
推荐指数
1
解决办法
43
查看次数

在IE9中使用Javascript clearTimeout()时,如何防止"Argument not optional"错误?

以下Javascript代码适用于除IE9之外的所有浏览器.有什么问题?

setTimeout('doSomething();clearTimeout();',500);
Run Code Online (Sandbox Code Playgroud)

调试器说它希望我将ID号传递给clearTimeout(),当我所做的只是清除所有超时时.

javascript settimeout internet-explorer-9

-2
推荐指数
1
解决办法
5318
查看次数

当我在javascript中按下时,如何延迟功能?

我有一个搜索的地方,当我进入它开始搜索,这是好的,但我想,当我按下输入功能启动2秒后.

我正在使用,setTimeout但它无法正常工作.

我能做什么 ?

表格:

<form id="search" method="get">
  <input id="searchplace" type="text" size="40" value="" placeholder="xxxx" />
</form>
Run Code Online (Sandbox Code Playgroud)

JavaScript

$("#search").keypress(function(event){
  if(event.keyCode == 13){
    $('.menu-bg').addClass('loading');      
    var x = $("#searchplace").val();

    setTimeout(m(),2000);

    function m(){
      $('.tabs').remove();
      window.location="search.php?page=noajax&q="+x;
      return false;
    };  
  }
});
Run Code Online (Sandbox Code Playgroud)

javascript jquery function delay settimeout

-2
推荐指数
1
解决办法
102
查看次数