Javascript 箭头函数不是一个函数
我得到错误Javascript 箭头函数不是一个函数,javascript,Javascript,我得到错误TypeError:f不是一个函数,原因如下:我做错了什么 var expressws = require("express"); var appws = expressws(); var expressWs = require('express-ws')(appws); function x(ws) { console.log("send"); } function loop(f,t) { setTimeout(() => loop(), t); f
TypeError:f不是一个函数,原因如下:我做错了什么
var expressws = require("express");
var appws = expressws();
var expressWs = require('express-ws')(appws);
function x(ws)
{
console.log("send");
}
function loop(f,t)
{
setTimeout(() => loop(), t);
f();
}
appws.ws('/', function(ws, req) {
ws.on('message', function(msg){
var data = JSON.parse(msg);
if(data.action == "Logged in"){
loop(() => x(ws),1000);
}
});
})) 下面的间接递归调用不将任何内容作为参数传递给循环
,因此出现错误
setTimeout(() => loop(/* should pass two arguments here */), t);
下面的间接递归调用不将任何内容作为参数传递给循环
,因此出现错误
setTimeout(() => loop(/* should pass two arguments here */), t);
您需要将参数传递到循环函数中
setTimeout(()=>循环(f,t),t)代码>
另一种方法是
setTimeout(loop.bind(null,f,t),t)代码>
或洛达斯版本
\延迟(循环,t,f,t)代码>您需要将参数传递到循环函数中
setTimeout(()=>循环(f,t),t)代码>
另一种方法是
setTimeout(loop.bind(null,f,t),t)代码>
或洛达斯版本
\延迟(循环,t,f,t)代码>您正在调用代码中不存在的函数。在这一行<代码>函数循环(f,t){setTimeout(()=>loop(),t);f();}
setTimeout(()=>{loop(f,t);},t)代码>您正在调用代码中不存在的函数。在这一行<代码>函数循环(f,t){setTimeout(()=>loop(),t);f();}
setTimeout(()=>{loop(f,t);},t)代码>