-1
我需要从我的HTML调用Javascript函数两次,但我需要两者之间的延迟。当我运行下面的代码时,即使应该有一整分钟的延迟,它也几乎立即上传这两个文件。任何想法我在这里失踪?用setTimeout调用的函数仍然立即运行
sendFileToDrive(allFiles1[0]);
setTimeout(sendFileToDrive(allFiles2[0]),60000);
我需要从我的HTML调用Javascript函数两次,但我需要两者之间的延迟。当我运行下面的代码时,即使应该有一整分钟的延迟,它也几乎立即上传这两个文件。任何想法我在这里失踪?用setTimeout调用的函数仍然立即运行
sendFileToDrive(allFiles1[0]);
setTimeout(sendFileToDrive(allFiles2[0]),60000);
您需要传递一个函数,而不是执行一个函数。
setTimeout(() => sendFileToDrive(allFiles2[0]), 60000);
现在,你传递给setTimeout
的功能将在一分钟后执行,并且将执行调用setFileToDrive
。
以上使用箭头功能。这里有一个传统的语法。
setTimeout(function() { sendFileToDrive(allFiles2[0]) }, 60000);
你也可以使用.bind()
。
setTimeout(sendFileToDrive.bind(this, allFiles2[0]), 60000);
这是假设的allFiles2
的0
指数已经包含你需要传递的数据。
太棒了,非常感谢! – Thaaron
不客气。 – llama