【问题标题】:How can I send fcmtoken to the api body?如何将 fcm 令牌发送到 api 正文?
【发布时间】:2021-04-20 01:53:19
【问题描述】:

在我的代码中执行 useEffect 时,我想通过 firebase .getToken 获取 fcmtoken 并将 fcmtoken 发送到 auth/me 路由器的主体。

但是如果我使用我的代码会发生这个错误

      Unhandled Promise Rejection (id: 0):
      ReferenceError: fcmtoken is not defined

也许错误的原因是不正确使用异步等待或任何东西

但是如何修复我的代码?

这是我的代码

    useEffect(() => {
      Linking.addEventListener('url', async ({url}) => {
        var newURL = url;
        var splitURL = newURL.toString().split('=');

        const token = splitURL[1];

        messaging()
          .getToken()
          .then((fcmtoken) => {
            return fcmtoken;
          });
        const {data} = await axios.post(
          '/auth/me',
          {fcmtoken},
          {
            headers: {Authorization: `Bearer ${token}`},
          },
        );
        console.log('data::::', data);

        AsyncStorage.setItem('tokenstore', `${token}`, () => {
          console.log('유저 닉네임 저장 완료');
        });

        dispatch({
          type: KAKAOLOG_IN_REQUEST,
          data: data,
        });
      });
      return () => Linking.removeEventListener('url');
    }, []);

【问题讨论】:

    标签: javascript node.js reactjs react-native


    【解决方案1】:

    您正在尝试将未定义的变量“fcmtoken”发送到 API。在下面的代码中,我更改了获取 fcm 令牌的方式。

        useEffect(() => {
      Linking.addEventListene`enter code here`r('url', async ({url}) => {
        var newURL = url;
        var splitURL = newURL.toString().split('=');
    
        const token = splitURL[1];
    
        let fcmtoken = await messaging().getToken();
        const {data} = await axios.post(
          '/auth/me',
          {fcmtoken},
          {
            headers: {Authorization: `Bearer ${token}`},
          },
        );
        console.log('data::::', data);
    
        AsyncStorage.setItem('tokenstore', `${token}`, () => {
          console.log('유저 닉네임 저장 완료');
        });
    
        dispatch({
          type: KAKAOLOG_IN_REQUEST,
          data: data,
        });
      });
      return () => Linking.removeEventListener('url');
    }, []);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-21
      • 2016-11-15
      • 1970-01-01
      • 1970-01-01
      • 2019-06-01
      • 2020-01-15
      • 2019-12-31
      • 1970-01-01
      相关资源
      最近更新 更多