相关疑难解决方法(0)

setTimeout还是setInterval?

据我所知,这两个javascript的行为方式相同:

选项A:

function myTimeoutFunction()
{
    doStuff();
    setTimeout(myTimeoutFunction, 1000);
}

myTimeoutFunction();
Run Code Online (Sandbox Code Playgroud)

选项B:

function myTimeoutFunction()
{
    doStuff();
}

myTimeoutFunction();
setInterval(myTimeoutFunction, 1000);
Run Code Online (Sandbox Code Playgroud)

使用setTimeoutsetInterval有什么区别吗?

javascript setinterval

738
推荐指数
12
解决办法
37万
查看次数

反应"渲染后"代码?

我有一个应用程序,我需要动态设置元素的高度(让我们说"app-content").它需要应用程序的"chrome"的高度并减去它,然后将"app-content"的高度设置为在这些约束内适合100%.这对于vanilla JS,jQuery或Backbone视图来说非常简单,但是我很难弄清楚在React中执行此操作的正确流程是什么?

下面是一个示例组件.我希望能够设置app-content的高度是窗口减去的尺寸为100%ActionBarBalanceBar,但我怎么知道当一切都变得和我在哪里会把计算的东西,在这个阵营类?

/** @jsx React.DOM */
var List = require('../list');
var ActionBar = require('../action-bar');
var BalanceBar = require('../balance-bar');
var Sidebar = require('../sidebar');
var AppBase = React.createClass({
  render: function () {
    return (
      <div className="wrapper">
        <Sidebar />
        <div className="inner-wrapper">
          <ActionBar title="Title Here" />
          <BalanceBar balance={balance} />
          <div className="app-content">
            <List items={items} />
          </div>
        </div>
      </div>
    );
  }
});

module.exports = AppBase;
Run Code Online (Sandbox Code Playgroud)

javascript reactjs

329
推荐指数
9
解决办法
26万
查看次数

Node.js循环中的setTimeout

关于setTimeout工作方式,我有点困惑.我试图setTimeout在一个循环中,所以循环迭代,例如,相隔1秒.每个循环迭代发出一个HTTP请求,看起来另一端的服务器无法在如此短的时间内处理那么多请求.

for (var i = 1; i<=2000 && ok; i++) {
    var options = {
        host:'www.host.com',
        path:'/path/'+i
    };

    setTimeout(makeRequest(options, i), 1000);
};
Run Code Online (Sandbox Code Playgroud)

为什么这不起作用,我怎样才能做到这一点?

谢谢

javascript asynchronous settimeout node.js

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

为什么用括号调用setTimeout不会启动新的callstack?

当调试器在d中触发时,下面的代码有一个新的callstack(这里是 jsfiddle )

function c() {
    setTimeout( d, 1000 );
}

function d() {
    debugger;   
}

c();
Run Code Online (Sandbox Code Playgroud)

如果我们修改使用setTimeout( d(), 1000 );哪个代码括号(括号:)

function c() {
    setTimeout( d(), 1000 );
}

function d() {
    debugger;   
}

c();
Run Code Online (Sandbox Code Playgroud)

那么callstack有c()和d()(这里是 jsfiddle ).为什么?

javascript callstack settimeout

3
推荐指数
1
解决办法
1343
查看次数

如何在一定时间后杀死Javascript函数

当用户开始滚动滚动条时,我有一个页面开始自动滚动.但我希望滚动在一段时间后停止.以下是我到目前为止但它没有工作.我不认为"回归"; 是我应该使用的正确功能,但我找不到任何有用的功能.

function scrollFunction() {
  window.scrollBy(0, 10);
}

window.onscroll = scrollFunction;

setTimeout(function scrollFunction() {
    return;
}, 2000);
Run Code Online (Sandbox Code Playgroud)
<div style="height:1000px; background-color:red;"></div>
<div style="height:1000px; background-color:green;"></div>
<div style="height:1000px; background-color:blue;"></div>
<div style="height:1000px; background-color:black;"></div>
Run Code Online (Sandbox Code Playgroud)

html javascript

3
推荐指数
1
解决办法
416
查看次数