rxjs进行整改异步代码,让代码变得简洁。请问是否可以指导一下呢?

现在有一个Service 如下:

const getOSQueryBuilder = async (): Promise<Repository<ConfigEntities>> => {
  return Database.getRepository(ConfigEntities)
}

class OSService {
  // 根据ID查询操作
  static async getConfig(id: string): Promise<unknown> {
    return new Promise((resolve) => {
      async function inquire(): Promise<void> {
        const osQueryBuilder = await getOSQueryBuilder()
        const data = osQueryBuilder.findOne({
          where: {
            id
          }
        })
        resolve(data)
      }
      inquire()
    })
  }
}

但是我觉得这个static 异步方法很繁杂,
想要使用rxjs进行整改,让代码变得简洁。请问是否有大神可以指导一下呢?

阅读 1.9k
2 个回答

为什么原来的代码要写那么复杂?

const getOSQueryBuilder = async (): Promise<Repository<ConfigEntities>> => {
  return Database.getRepository(ConfigEntities)
}

class OSService {
  // 根据ID查询操作
  static async getConfig(id: string): Promise<unknown> {
    const osQueryBuilder = await getOSQueryBuilder()
    return osQueryBuilder.findOne({ where: { id }})
  }
}
const getOSQueryBuilder = async (): Promise<Repository<ConfigEntities>> => {
  return Database.getRepository(ConfigEntities);
};

class OSService {
  // 根据ID查询操作
  static async getConfig(id: string): Promise<unknown> {
    const osQueryBuilder = await getOSQueryBuilder();
    return osQueryBuilder.findOne({ where: { id } });
  }
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏