我有一个用 Javascript 实现的简单 MVC。View 只做一件事:捕获鼠标点击的坐标。每当用户单击时,View 都会将坐标保存在 FIFO 缓冲区中,并通知 Controller 这个新事件。作为通知的结果,控制器读取坐标并向模型询问特定于这些坐标的一些数据。这个数据只是一个简单的数字。
但是,模型实际上并没有这些数据。模型向远程服务器询问该信息。当信息(异步)到达时,模型将信息保存在永久缓冲区中,并通知控制器应根据此新信息刷新视图。
不幸的是,必须处理模型中的整个缓冲区,以便可以刷新视图(不能仅根据最后的数据刷新视图)。我的疑问是,如果在读取模型中的缓冲区以刷新视图时新数据异步到达会发生什么?我的第一个想法是为每次视图刷新制作一个完整的数据库稳定副本。