簡體   English   中英

setInterval使用node.js拋出的TypeError

[英]TypeError thrown by setInterval using node.js's

我是NodeJS的新手,我正在運行一個微服務,我想在沒有瀏覽器的情況下打開網頁,以每20秒發出一次客戶端api請求。 我正在嘗試使用包openurl

const openPage = require("openurl");

function openUpPage(url){
  openPage.open(url);
}

setInterval(openUpPage("myURl"), 20000);

但是,在調用setInterval(...)時,返回“ TypeError:“ callback”參數必須是一個函數“。

知道我如何使用setInterval完成此操作嗎?

您需要將回調傳遞給setInterval而不是使用匿名箭頭函數作為示例立即調用函數。

setInterval(() => openUpPage("myURl"), 20000);

箭頭功能不是必須的。

setInterval(function() { openUpPage("myURl") }, 20000);

測試時,我發現setInverval拋出的錯誤"TypeError: "callback" argument must be a function"與node.js有關。 問題中的代碼段運行時在Codepen中沒有任何錯誤(使用Chrome)。

這是由於以下事實造成的:由於缺少底層支持,純JavaScript無法實現此類與計時器相關的功能。 因此,瀏覽器和node.js不一定共享文檔中所見的相同實現。

即使如代碼片段所示立即調用函數,與setInterval結合使用,無論實現如何,都是毫無意義的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM