-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