Node.js dustjs:是否应该从模板助手进行异步调用?
想从dust.js模板帮助程序中获得一些关于异步请求的想法和反馈: Dust.js可以从模板助手发出异步请求,但利用它们真的是个好主意吗?考虑一下这个场景… 特定页面需要呈现多个api请求。在页面的路由控制器中,单个异步api请求获取页面的大部分数据,并将数据传递给要呈现的模板。在模板中,有几个可重用和独立的dust Helper(可以放在任何页面上),它们可以发出自己的异步请求以显示其组件 在这种情况下,所有灰尘助手必须等到控制器发出的请求完成后才能进行调用(当模板渲染开始时) 为了避免同步调用,理想情况下(不包括页面上所有数据都有一个端点),所有请求都应该发生在路由控制器中,否则请求链将是1)控制器请求2)灰尘助手请求3)嵌套/依赖灰尘助手请求 缺点:Node.js dustjs:是否应该从模板助手进行异步调用?,node.js,express,dust.js,kraken.js,Node.js,Express,Dust.js,Kraken.js,想从dust.js模板帮助程序中获得一些关于异步请求的想法和反馈: Dust.js可以从模板助手发出异步请求,但利用它们真的是个好主意吗?考虑一下这个场景… 特定页面需要呈现多个api请求。在页面的路由控制器中,单个异步api请求获取页面的大部分数据,并将数据传递给要呈现的模板。在模板中,有几个可重用和独立的dust Helper(可以放在任何页面上),它们可以发出自己的异步请求以显示其组件 在这种情况下,所有灰尘助手必须等到控制器发出的请求完成后才能进行调用(当模板渲染开始时) 为了避免同步调
- 通过调用n个服务来构建视图模型,从而提高路由控制器的复杂性
- 将显示组件添加到新页面需要更改控制器和模板,而不仅仅是添加模板帮助器
- 减少/消除同步请求并提高性能
- 更容易理解视图模型
你的想法是什么?谢谢如果你考虑只用你的模板,服务器端,我会把所有东西移到控制器中。我希望有一个控制器“控制”视图层所需的所有数据 如果您考虑在浏览器中使用dust模板(因此来自cleint的ajax调用),从架构的角度来看,我认为这两种方法都是合理的。 但在决定之前,我会问自己一些关于用户体验的问题:
如果你只想使用你的模板,服务器端我会把所有东西移到控制器中。我希望有一个控制器“控制”视图层所需的所有数据
如果您考虑在浏览器中使用dust模板(因此来自cleint的ajax调用),从架构的角度来看,我认为这两种方法都是合理的。 但在决定之前,我会问自己一些关于用户体验的问题:谢谢你的评论。客户端呈现是不从控制器发出所有调用并按需加载内容的重要原因。关于我正在研究的实现,我们的网络内API调用非常快(甚至是未缓存的),因此让控制器处理所有异步调用目前不是问题。随着我们增加新的复杂性和功能,我们真的应该考虑从客户端加载更多的内容,尽管索引SEO内容对我们来说是必不可少的,所以我们需要一个强大的解决方案。感谢您的评论。客户端呈现是不从控制器发出所有调用并按需加载内容的重要原因。关于我正在研究的实现,我们的网络内API调用非常快(甚至是未缓存的),因此让控制器处理所有异步调用目前不是问题。随着我们增加新的复杂性和功能,我们真的应该考虑从客户端加载更多的内容,尽管可索引的SEO内容对我们来说是必不可少的,所以我们需要一个健壮的解决方案。