我如何在React-native中使用完成处理程序创建函数?

时间:2018-09-22 11:00:01

标签: react-native cross-platform reactive-programming

我试图在react-native中使用完成处理程序吗? 请提供一些样品会有所帮助。 谢谢。

因此,我正在从父类的实例类中调用此方法,但希望该方法完成后返回一个值。
现在,它的返回值是在创建值之前返回的,但希望在创建值后将其传递。

getfcmToken() {
   //generate token here
   firebase.messaging().getToken().then(token => {
       if (token) {
           console.log("LOG: ", token);
           _userID = token
           alert(_userID)
        } else {
            // user doesn't have a device token yet
        }
    })
    return this._userID;
}

1 个答案:

答案 0 :(得分:1)

我认为您可以将函数作为参数发送给getfcmToken。例如:

在助手/实例类中

getfcmToken(callback) {
   firebase.messaging().getToken().then(token => {
       if (token) {           
           this._userID = token;
           callback({success: true, token: token};
        } else {
            // user doesn't have a device token yet
            callback({success: false, message: 'User doesn't have device token'});
        }
    });
}

,然后在父类中:

getUserToken() {
   firebaseHelper.getfcmToken((result)=>{
     if (success === true) {
       //do something with token
     }
   });
}