2017-10-05 68 views
-1

我需要从我的HTML调用Javascript函数两次,但我需要两者之间的延迟。当我运行下面的代码时,即使应该有一整分钟的延迟,它也几乎立即上传这两个文件。任何想法我在这里失踪?用setTimeout调用的函数仍然立即运行

 sendFileToDrive(allFiles1[0]); 
     setTimeout(sendFileToDrive(allFiles2[0]),60000); 

回答

1

您需要传递一个函数,而不是执行一个函数。

setTimeout(() => sendFileToDrive(allFiles2[0]), 60000); 

现在,你传递给setTimeout的功能将在一分钟后执行,并且将执行调用setFileToDrive


以上使用箭头功能。这里有一个传统的语法。

setTimeout(function() { sendFileToDrive(allFiles2[0]) }, 60000); 

你也可以使用.bind()

setTimeout(sendFileToDrive.bind(this, allFiles2[0]), 60000); 

这是假设的allFiles20指数已经包含你需要传递的数据。

+0

太棒了,非常感谢! – Thaaron

+0

不客气。 – llama

相关问题