Che cos'è un metodo di stub in MeteorJS?Che cos'è un metodo stub in MeteorJS?
Perché includere una chiamata al database lo rende un non-stub? Grazie!
Che cos'è un metodo di stub in MeteorJS?Che cos'è un metodo stub in MeteorJS?
Perché includere una chiamata al database lo rende un non-stub? Grazie!
Penso che intendiate quelli indicati nello docs? Gli stub sono quelli definiti tramite Meteor.methods
.
In Meteor questi tronconi consentono di ottenere una compensazione di latenza. Ciò significa che quando si chiama uno di questi stub con Meteor.call
potrebbe volerci del tempo perché il server risponda con il valore di ritorno dello stub. Quando si definisce uno stub sul client, è possibile fare qualcosa sul lato client che consente di simulare la compensazione della latenza.
cioè posso avere
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});
}
});
}
Quindi verrà inserito documenti sia sul client che sul server. Quello sul client si rifletterà 'istantaneamente' anche se il server non ha risposto se è stato inserito o meno.
Lo stub lato client consente che ciò avvenga senza con due documenti inseriti anche se l'inserimento viene eseguito due volte.
Se l'inserimento fallisce, il lato server uno vince, e dopo che il server risponde il lato client uno verrà rimosso automaticamente.
Per il codice di cui sopra è possibile scrivere questo che sarà riceve sia server che client, utilizzare isSimulation per identificare sul lato Quale sei, se avete bisogno di fare compito specifico:
var MyCollection = new Meteor.collection("mycoll")
Meteor.methods({
test:function() {
console.log(this.isSimulation) //Will be true on client and false on server
var colItem = {test:true, server: true};
if (this.isSimulation) {
colItem.server = false;
}
MyCollection.insert(colItem);
}
});
Sai quello che un "stub" è in un senso generale di sviluppo del software? – Alexander