gpt4 book ai didi

javascript - MVC中模型的异步更新

转载 作者:行者123 更新时间:2023-11-28 02:02:32 26 4
gpt4 key购买 nike

我有一个用 Javascript 实现的简单 MVC。 View 只做一件事:捕获鼠标单击的坐标。每当用户单击时, View 都会将坐标保存在 FIFO 缓冲区中,并通知 Controller 有关此新事件的信息。作为通知的结果, Controller 读取坐标并向模型询问特定于这些坐标的一些数据。这个数据只是一个简单的数字。

但是,模型实际上没有该数据。该模型向远程服务器询问该信息。当信息(异步)到达时,模型将信息保存在永久缓冲区中,并通知 Controller 应根据此新信息刷新 View 。

不幸的是,必须处理 Model 中的整个缓冲区,以便刷新 View(不能仅根据最后的数据刷新 View)。我的疑问是,如果在读取模型中的缓冲区以刷新 View 时新数据异步到达,会发生什么?我的第一个想法是为每次 View 刷新制作数据库的完整稳定副本。

最佳答案

JavaScript 没有其他语言中等效的“await”。我相信我们将会看到“yield”关键字,它将在未来帮助我们。目前,许多编码员都依赖 Promise 或 Deferred 模式。

jQuery 内置了“延迟”功能。http://api.jquery.com/category/deferred-object/Chrome和FF已经开始添加它。 https://code.google.com/p/v8/issues/detail?id=2355

我必须承认这不是最好的答案,我只能指出一些小问题。

  • jQuery ajax 调用可以同步完成,检查参数
  • 超时、 sleep 不是答案,因为它会阻塞
  • 延迟并不总是一个答案,特别是如果您不喜欢“然后”、“何时”回调技术。

关于javascript - MVC中模型的异步更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18245003/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com