我正在开发一个使用 Ruby API 编写的 Google Sketchup 插件。在这个 API 中有一个WebDialog 类,可以使用它来呈现 HTML 并在 WebDialog 和插件代码的 Ruby 端之间移动数据。我正在使用这个类为我的插件构建一个 UI。
数据从 WebDialog 异步发送到 Ruby 端。由于文档不足,我最初并没有意识到这一点,现在我已经进入了我的插件,它开始给我带来一些问题。具体来说:当从 WebDialog 向 Ruby 端进行多次连续调用时,只执行最后一次调用。因此,我显然需要设计某种“桥梁”,以防止从 WebDialog 到 Ruby 端的调用丢失——我认为,这基本上是一个“事件循环”或“消息泵”系统。
我的问题是我不知道如何做到这一点。我希望有人可以为我提供某种资源,为这样的系统应该如何工作制定一个框架——需要什么样的检查,它们的执行顺序等等。我知道这可能是一项非常复杂的任务,但我只需要一些基本的东西:基本上,一种在我向 Ruby 发送请求时停止 Javascript 的方法,直到我得到我需要的数据才继续,并处理任何可能的潜在错误突然出现。
任何帮助将不胜感激!