项目的 Demo 在 http://juy.fm 。
今天以夯实基础为主,深入理解一下 Meteor 中的几个重要概念及语法,尤其是 Latency Compensation。
之前的代码是通过客户端直接对数据库操作来存储反馈,正好看到一篇好文讨论 使用 Client-Side Operations 和使用 Methods 的优劣——结论是生产环境中始终使用 Methods,同时也引出了 Latency Compensation 相关内容。
重构过程并不难,先注释掉 Feedbacks.allow({ insert: function() {} }) 部分,然后把之前客户端操作数据库的代码逻辑包装在 Meteor.methods() 中,最后通过 Meteor.call() 调用之。
- Meteor Methods vs Client-Side Operations
- An Introduction To Latency Compensation
- Advanced Latency Compensation
Github 地址:使用 Methods 取代客户端插入数据