TypeError:t不是函数

时间:2018-03-02 19:06:13

标签: javascript reactjs callback jwt

我在loginCheck中遇到“TypeError:t不是函数”错误,我不明白为什么。错误来自我调用回调函数fn的行。

loginCheck(jwt, fn){
    if(jwt !== null){
        req("jwt="+encodeURIComponent(jwt), "verifyJWT.php", (response)=>{
            fn(response);
        });
    }
    else{
        fn("Fail");
    }
}

我在登录功能中使用了完全相同的语法,没有任何问题:

login(user, pass, fn){
    var creds = "t="+user+"&s="+pass;
    req(creds, "login.php", (response)=>{
        if(response && response.length > 0){
            fn(response);
        }
        else{
            fn(response);
        }
    });
},

回调在我的反应组件中,如下所示:

componentWillMount(){
    funcs.loginCheck(localStorage.getItem("jwt"), (response)=>{
        console.log(response);
    });
}
onClick(){
    funcs.login(this.state.username, this.state.password, (response)=>{
        if(response != 0 && response !== false){
            // on successful login, response should be a json web token
            localStorage.setItem("jwt", response);
            this.props.history.push("/");
        }
        else{
            console.log(response);
        }
    });
}

感谢您的任何建议。

0 个答案:

没有答案