2017-10-05 40 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

相關問題