2012-08-30 26 views
5

我一直在用回调接口使用dust.js,我对它很满意。现在我想了解更多关于流媒体界面。在dust.js中,什么是流式接口?

我已经在文档herehere,这个概念逃脱了我。

我想我的问题是:

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

  2. 在什么情况下我会使用Streaming代替回调 接口?

  3. 是否有任何代码示例可以帮助我学习?

谢谢!

+0

你是什么意思与流接口? 我想你是在谈论尘埃物体的流方法 – JAiro

+0

@JAiro是的,通过流接口,我指的是dust.stream()方法。在[文档](http://akdubya.github.com/dustjs/)中,它被称为“流媒体接口”。我不明白它应该如何工作。我不明白它和dust.render()之间的区别。 –

回答

6

在回调界面中,一旦完成整个模板渲染整个模板 - 通过提供回调函数 - 通常会将渲染模板插入到DOM中,您只能使用渲染模板。

在流接口

,你有更多的控制在渲染过程中,几乎每一个部分:渲染块是如何投入到输出流,当你想在页面呈现等

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

所以,假如你有一个你想渲染的非常大的模板,你可以将模板分解成块,当完成后,它将发出'data'事件,并定义一个处理程序将该块放入DOM 。换句话说,您不必等待整个渲染过程完成,才能开始在页面上显示内容。

如果您想要一次渲染多个应用程序的页面,但只想向用户显示一个页面,例如,如果您使用jquerymobile - 那么您将使用流式接口帮助尽快将第一页传送给用户 - 而异步渲染其余页面。希望这可以帮助

+0

谢谢你,这是非常有帮助的。除了我在问题中提到的两个之外,还有其他除尘文档资源吗? –

+3

没有。这两者在粉尘方面非常相似。我通过代码了解更多。我可以在我的博客上写一篇文章。特别需要解释的任何事情? – asyraf9

+0

我对生成几个块然后将它们流入模板的示例非常感兴趣。我正在考虑一大堆项目。我想流媒体可以完美的使用,但也许我错了? – Redfox