什么是 MeteorJS 中的 stub 方法?
为什么包含数据库调用使其成为非 stub ?谢谢!
最佳答案
我想你指的是 docs 中提到的那些? stub 是通过 Meteor.methods
定义的 stub 。
在 Meteor 中,这些 stub 允许您进行延迟补偿。这意味着当您使用 Meteor.call
调用这些 stub 之一时,服务器可能需要一些时间来回复 stub 的返回值。当您在客户端定义一个 stub 时,它允许您在客户端做一些事情来模拟延迟补偿。
我可以拥有
var MyCollection = new Meteor.collection("mycoll")
if(Meteor.isClient) {
Meteor.methods({
test:function() {
console.log(this.isSimulation) //Will be true
MyCollection.insert({test:true});
}
});
}
if(Meteor.isServer) {
Meteor.methods({
test:function() {
MyCollection.insert({test:true});
}
});
}
因此文档将被插入到客户端和服务器上。客户端上的那个将“立即”反射(reflect)出来,即使服务器没有回复它是否已插入。
即使插入运行两次,客户端 stub 也允许在没有插入两个文档的情况下发生这种情况。
如果插入失败,服务端一个胜出,服务端响应后客户端一个自动移除。
关于javascript - 什么是 MeteorJS 中的 stub 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17510707/