相关疑难解决方法(0)

为什么我使用setTimeout时会立即执行该方法?

我正在尝试使用setTimeout编写一个简单的代码,并且setTimeout不会等待它所设想的时间并且代码立即执行.我究竟做错了什么?

setTimeout(testfunction(), 2000);
Run Code Online (Sandbox Code Playgroud)

javascript settimeout

60
推荐指数
3
解决办法
3万
查看次数

使用setTimeout()调用函数

简单的说...

为什么

setTimeout('playNote('+currentaudio.id+', '+noteTime+')', delay);
Run Code Online (Sandbox Code Playgroud)

完美地工作,在指定的延迟后调用函数,但是

setTimeout(playNote(currentaudio.id,noteTime), delay);
Run Code Online (Sandbox Code Playgroud)

同时调用函数playNote?

(这些setTimeout()s在for循环中)

或者,如果我的解释太难阅读,这两个函数之间有什么区别?

javascript settimeout

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

如何减慢这个节点循环http请求?

我正在尝试使用Lambda函数将请求模块的API调用大约200-300次.我需要在每个调用之间添加第二个,所以我没有得到429响应.我已经尝试了几种不同的方法来实现这一点,但似乎忽略了代码来减慢速度.

人们通常如何减慢AWS lambda中的这些请求?如果我可以在循环中插入一些类似utilities.sleep(1000)的内容,以使其在继续之前等待一秒钟,那就太棒了.我确信这个问题有一个简单的解决方案,但我见过的所有例子似乎都让它变得复杂.

function findProjects(items){

    var toggleData = [];

    for( var i = 0; i < items.length; i++ ){
        setTimeout( callToggle( items[i] ), 1000 );
    }

    function callToggle( data ){
        request({
            'url': 'https://www.toggl.com/api/v8/projects/' + data.toggle.data.id,
            'method': 'GET',
            'headers': {
                'Content-Type': 'application/json',
                'Accept': 'application/json'
            },
            'auth': {
                'user': 'xxxxxxx',
                'pass': 'api_token'
        }}, function( error, response, body ){
            if( error ) {

                console.log( error );
                context.done( null, error );
            } else {

                console.log(response.statusCode, "toggle projects were listed");
                var info = …
Run Code Online (Sandbox Code Playgroud)

javascript node.js aws-lambda

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

标签 统计

javascript ×3

settimeout ×2

aws-lambda ×1

node.js ×1