vue 返回相应式对象,不需要考虑异步

// 批量获取字典值
export const useMultiDicts = (types) => {
  const keys = ref({});
  const noExits = [];
  types.forEach((key) => {
    const dicts = useDictStore().getDict(key);
    if (dicts) {
      keys.value[key] = dicts;
    } else {
      keys.value[key] = [];
      noExits.push(key);
    }
  });
  if (noExits.length > 0) {
    queryBatchDicts({ dictType: noExits.join(',') }).then((res) => {
      if (res.code === 200) {
        const data = res.data;
        Object.keys(data).forEach((key) => {
          keys.value[key] = (data[key] || []).map((item) => {
            return {
              dictTab: item.dictTab,
              dictValue: item.dictValue,
              value: item.dictValue,
              label: item.dictTab,
            };
          });
          useDictStore().setDict(key, keys.value[key]);
        });
      }
    });
  }

  return toRefs(keys.value);
};
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容