【问题标题】:run a program in seconds rather than milliseconds在几秒钟而不是几毫秒内运行程序
【发布时间】:2014-04-12 02:36:17
【问题描述】:

我有一个自制的(当然不是我自己做的)程序,它可以在几毫秒内运行,我实际上必须花费数百万毫秒才能让它完成我想要它做的事情,所以我正在尝试改变它到几秒钟,甚至几分钟......我知道 var milli 是我应该改变的,但不知道如果我把它改为 var sec 或 var secs 或 var seconds 或什么,我对编码不是很了解,所以我我确定这是一个简单的答案,而且我尝试了一些不起作用的不同方法,所以这就是我来这里的原因,如果你能回答,谢谢:) 忽略它在这篇文章中没有正确格式化为代码的事实

<script>
    var a=0;
var milli;
    function collect1()
    {
        var milli = document.getElementById("numbers").value;
        var links=document.getElementById('linkholder').value;
        links = links.replace(/[\n\r]/gi , " ");
        var link=links.split(" ",100000);
        var iframe1=document.getElementById('iframe1');
        iframe1.onload = function(){setTimeout(collect1, milli);};
        iframe1.src=link[a];
        a++;

【问题讨论】:

  • 哥们,代码不完整
  • 你真的不知道如何用 1000 多倍,然后用 60 来获得分钟等等?
  • 检查程序,确定我可以乘法,但我试图简化它,让它在几秒钟内而不是几毫秒内运行,或者可能在几分钟内运行另一个版本的程序 @987654321 @

标签: javascript performance javascript-framework


【解决方案1】:

很难猜出你的代码是做什么用的,因为我不知道你的 html 页面是什么样子的。

但由于变量milli 只使用一次(作为setTimeout 的参数),我猜你可以将那行代码更改为:

    iframe1.onload = function(){setTimeout(collect1, milli);};

到:

    iframe1.onload = function(){setTimeout(collect1, milli * 1000);};

看看发生了什么。

【讨论】:

  • prntscr.com/2z4s8c 这可以解释我想要做的更好一点...而不是使用毫秒,我宁愿使用秒或分钟
  • 在这种情况下,我建议使用@pstenstrm 的解决方案。
【解决方案2】:

1 秒 = 1000 毫秒

您在提供的代码中使用milli 变量的唯一地方是:

iframe1.onload = function(){setTimeout(collect1, milli);};

因此,如果您希望毫秒变量实际上是您希望等待的秒数,则将其乘以 1000:

iframe1.onload = function(){setTimeout(collect1, milli*1000);};

旁注:这将等待很长时间......

【讨论】:

  • 有道理,所以如果我想让程序在几分钟内运行,我会把它改成 (collect1, milli*60000);}; ???
【解决方案3】:

改变这一行

var milli = document.getElementById("numbers").value;

var milli = document.getElementById("numbers").value * 1000;

1 秒是 1000 毫秒。

还要注意这个变量milli与第三行的var milli;不一样。如果您想将该变量转换为秒,您还需要将其乘以 1000。

【讨论】:

  • 并将其更改为 var milli = document.getElementById("numbers").value * 60000;如果我希望它在几分钟内运行?这可能会帮助您了解更多我正在尝试做的事情prntscr.com/2z4s8c
  • @user3397097 是的,完全正确。这应该是您完成该任务所需的全部内容。
  • 是的,真的,谢谢,我可以通过添加 * 1000 来做几秒钟,通过添加 * 60000 来做几分钟,通过添加 * 3600000 来做几小时
猜你喜欢
  • 1970-01-01
  • 2015-10-06
  • 2012-04-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-05-10
相关资源
最近更新 更多