vue3开发的taro微信小程序,为什么useDidShow 里的请求比onMounted 里的先执行?

vue3开发的taro微信小程序,为什么useDidShow 里的请求比onMounted 里的先执行?

我预想的顺序是先执行完login() 再执行 updateActivityInfo(),但打印显示顺序是倒过来的。该怎么解决

    useDidShow(() => {
      updateActivityInfo();
    });

    onMounted(async () => {
      login();
    });
const login = () => {
     Taro.login({
        success: async res => {
          if (res.code) {
            const { code, data } = await useLoginAuthApi().wxPhoneLogin(PUBLICID, res.code);
            //...
          }
        },
      });
}
const updateActivityInfo = async () => {
      state.paramount = await useActivitiesApi().paramount();
     //...
    };

两处都是异步操作,和网络延迟和接口速率有关