我如何从 firebase 获取令牌?

how can i get token from firebase?

我想从 firebase 中的 getToken 获取 fcm 令牌

但是如果我使用我的代码令牌会像这样出现

我怎样才能得到?

这是我的代码

    const App = ({}) => {
      const dispatch = useDispatch();

      useEffect(() => {
        const fcmtoken = messaging()
          .getToken()
          .then((mainToken) => {
            return mainToken;
          });

        console.log('fcmtoken:::', fcmtoken);
      }, []);

getToken() 调用是异步的,因此它 return 是一个承诺。这就是您的 console.log 实际输出的结构。

要从承诺中获取实际值,您必须挂钩它的 then() 回调,就像您已经为 getToken().

做的一样

所以,这会起作用:

const fcmtoken = messaging()
  .getToken()
  .then((mainToken) => {
    return mainToken;
  });

fcmtoken.then((token) => console.log('fcmtoken:::', token));

通常情况下,您会希望在获得令牌后进行分派,这意味着您将在回调中调用 dispatch,而现在是 return mainToken。只需将令牌发送到那里,不要 return 任何东西。