खोज…
Meteor.call की मूल बातें
Meteor.call(name, [arg1, arg2...], [asyncCallback])
(१) नाम स्ट्रिंग
(२) आह्वान करने की विधि का नाम
(3) arg1, arg2 ... EJSON- सक्षम वस्तु [वैकल्पिक]
(4) asyncCallback फंक्शन [वैकल्पिक]
एक तरफ, आप कर सकते हैं: ( सत्र चर के माध्यम से, या ReactiveVar के माध्यम से)
var syncCall = Meteor.call("mymethod") // Sync call
इसका मतलब है कि यदि आप ऐसा कुछ करते हैं, तो सर्वर साइड आप करेंगे:
Meteor.methods({
mymethod: function() {
let asyncToSync = Meteor.wrapAsync(asynchronousCall);
// do something with the result;
return asyncToSync;
}
});
दूसरी ओर, कभी-कभी आप कॉलबैक के परिणाम के माध्यम से इसे रखना चाहेंगे?
ग्राहक की ओर :
Meteor.call("mymethod", argumentObjectorString, function (error, result) {
if (error) Session.set("result", error);
else Session.set("result",result);
}
Session.get("result") -> will contain the result or the error;
//Session variable come with a tracker that trigger whenever a new value is set to the session variable. \ same behavior using ReactiveVar
सर्वर साइड
Meteor.methods({
mymethod: function(ObjectorString) {
if (true) {
return true;
} else {
throw new Meteor.Error("TitleOfError", "ReasonAndMessageOfError"); // This will and up in the error parameter of the Meteor.call
}
}
});
यहाँ उद्देश्य यह दिखाना है कि उल्का ग्राहक और सर्वर के बीच संवाद करने के लिए विभिन्न तरीके प्रस्तावित करता है।
सत्र चर का उपयोग करना
सर्वर साइड
Meteor.methods({
getData() {
return 'Hello, world!';
}
});
ग्राहक की ओर
<template name="someData">
{{#if someData}}
<p>{{someData}}</p>
{{else}}
<p>Loading...</p>
{{/if}}
</template>
Template.someData.onCreated(function() {
Meteor.call('getData', function(err, res) {
Session.set('someData', res);
});
});
Template.someData.helpers({
someData: function() {
return Session.get('someData');
}
});
ReactiveVar का उपयोग करना
सर्वर साइड
Meteor.methods({
getData() {
return 'Hello, world!';
}
});
ग्राहक की ओर
<template name="someData">
{{#if someData}}
<p>{{someData}}</p>
{{else}}
<p>Loading...</p>
{{/if}}
</template>
Template.someData.onCreated(function() {
this.someData = new ReactiveVar();
Meteor.call('getData', (err, res) => {
this.someData.set(res);
});
});
Template.someData.helpers({
someData: function() {
return Template.instance().someData.get();
}
});
reactive-var
पैकेज की आवश्यकता है। इसे चलाने के लिए meteor add reactive-var
रन meteor add reactive-var
।
Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow