223180
数据库保存了很多集装箱的相关信息,在网站启动时我就希望读取这些信息到内存,因为整个网站的应用会非常频繁的查询这些信息。 从数据库获取数据一定是异步的,这就不能确保我查询集装箱信息时,这些信息一定在内存里。 如果这些方法使用了异步(不管是Promise还是async)那么所用用到的这些方法,都必须也是异步的。 这让我觉着非常困扰。而且感到极其不舒服 第一,有些方法很小,只要能保证内存载入了集装箱信息,它就能很快的返回,如果做成异步真的让人觉着很奇怪 第二,你可能还要告诉调用这些方法的人,这个方法是同步还是异步 我使用了child_process.execFileSync让这些异步的方法真正同步,这样就保证了网站在启动时就把数据读取到内存。 但是, 我也是个初学者,我感觉得我的这种做法非常不专业。是不是nodejs里面有一种好的接口设计方法能解决这类问题。 你们做项目时一定会遇到这类问题,通常如何解决呢(难道真的要把所有依赖数据库数据的方法做成异步吗?)