我的代码如下。我得到未定义不是函数(评估'_this.storeAPIToken(responseJson.APIToken)')错误

async function storeAPIToken(APIToken) {
    try {
        await AsyncStorage.setItem('@auth:APIToken', APIToken);
    } catch (error) {
        console.log("STORE API", error);
    }
}


const verifyOTPResponse = (dispatch, responseJson) => {
    console.log("checkOTPAPIStatus", responseJson.status);
    if (responseJson.status == "OK") {
        console.log("verifyOTPEntered OK");

        console.log('Token', responseJson.APIToken);
        this.storeAPIToken(responseJson.APIToken);

        firebase.auth().signInWithCustomToken(responseJson.token).then(() => {
            console.log("Login successfulx");

            dispatch({
                type: types.LOGIN_SUCCESS,
                payload: 1
            });

        }).catch(function(error) {
            var errorCode = error.code;
            var errorMessage = error.message;

            dispatch({
                type: types.LOGIN_FAIL,
                payload: 0
            });

        });
    } else {
        dispatch({
            type: types.OTP_VERIFICATION_FAIL,
            payload: loginStatus
        });


responseJson.APIToken不为null,当我通过控制台登录时它具有值

最佳答案

从调用this.的行中删除this.storeAPIToken(responseJson.APIToken);。该行所指的上下文不同于storeAPIToken的上下文。

09-18 10:14