Navigator.locks:提供的回调不再可运行

问题描述 投票:0回答:0

为了避免在 vue api 服务客户端上并发,我添加了 locks。虽然锁效果很好,但应用程序的第一次加载会发出多个错误,提示“无法在‘LockGrantedCallback’上执行‘调用’:提供的回调不再可运行。”,并且缺少一些数据。

所有服务功能如下:

async myfunc() {
    await navigator.locks.request("data", async () => {
      if (isNil(store.data)) {
        await this.updateToken(); // update this.token.accessToken
        let response = await Get(dataUrl, this.token.accessToken);
        store.data = response.data;
      }
    });
    return store.data;
} 

关于服务的更多细节:

服务在App.vue中初始化如下

provide() {
  return {
    myService: new MyService(msal),
  };
}

使用该服务的所有组件都将其作为注入实例接收

inject: ['myService']

我做错了什么?

javascript vuejs2 locks
© www.soinside.com 2019 - 2024. All rights reserved.