5

我一直在使用带有回调接口的dust.js,我对它很满意。现在我想了解更多有关 Streaming Interface 的信息。

我已经在这里这里查看过文档,但这个概念却让我无法理解。

我想我的问题是:

  1. 流媒体模板是什么意思?对我来说,听起来我可以使用它来设置一个对象,当数据被推送到该对象时,它将通过针对模板呈现该数据来做出响应。

  2. 在什么情况下我会使用 Streaming 而不是回调接口?

  3. 有没有可以帮助我学习的代码示例?

谢谢!

4

1 回答 1

6

在回调接口中,您只能在灰尘完成渲染整个模板后使用渲染的模板 - 通过提供回调 - 通常将渲染的模板插入到 DOM 中。

在流接口中,您可以更好地控制渲染过程的几乎每个部分:如何将渲染的块放入输出流,何时需要渲染页面的某些部分等。

当您使用回调接口时,回调接口有一个“out”属性,它始终附加到该属性,它最终将作为您提供给它的回调中的第二个参数提供给您。在流接口中,当一个新处理的块可用时,它会发出一个名为“数据”的事件,并将其留给您处理数据。

因此,假设您有一个非常大的模板要渲染,您可以将模板分成块,当完成时,将发出一个“数据”事件,并定义一个处理程序将该块放入 DOM。换句话说,您不必等待整个渲染过程完成才能开始在您的页面上显示内容。

例如,如果您想一次渲染应用程序的多个页面,但只想向用户显示一个页面 - 例如,如果您使用 jquerymobile - 那么您将使用流式接口来帮助获得第一个页面,这可能很有用尽可能快地向用户发送页面 - 同时异步呈现其余部分。希望这可以帮助

于 2012-09-04T02:41:43.697 回答