从promise调用函数,_this2不是函数

时间:2019-01-10 14:42:10

标签: javascript react-native oauth-2.0

目前,我正在使用OAuth 2.0身份验证进行React Native项目。不幸的是,我一直收到错误 _this2.accesTokenReceived不是函数。我将函数绑定到构造函数中,如下所示:

constructor(props){
    super(props);

    this.accessTokenReceived = this.accessTokenReceived.bind(this);
}

我的API调用在API.js文件中如下。令牌已成功接收。

export const login = (code) => {
    return fetch('https://url.com')
        .then((response) => response.json())
        .then((responseJson) => {

            console.log('API login access_token: ' + responseJson['response']['access_token']);
            return responseJson['response']['access_token'];

        })
        .catch((error) => {
            throw error;
        });
};

当用户返回到应用程序时,以下代码将在openURL函数中执行。

 Api.login(code)
        .then(token => {
            this.accessTokenReceived(token);

        }).catch((error) => {
            console.log('api call error');
            alert(error.message);
        });

我想调用accesTokenReceived函数将用户导航到新窗口并执行其他操作。这是我收到错误消息的时间。有人可以向我解释为什么会出现此错误,我是否将函数绑定错误?

0 个答案:

没有答案