【发布时间】:2016-03-24 00:24:04
【问题描述】:
数据在客户端生成并保存在本地集合中:
ListLocal = new Mongo.Collection(null);
let seed = [{
name: "A",
value: 1
}, {
name: "B",
value: 2
}, {
name: "C",
value: 3
}];
if (ListLocal.find().count() === 0) {
ListLocal.forEach(function(entry) {
ListLocal.insert(entry);
});
};
然后在客户端传递给服务器做进一步处理:
Template.home.events({
"click .btn-process": function(event) {
event.preventDefault();
let localData = ListLocal.find({}).fetch();
Meteor.call("processData", localData);
}
});
服务器接受数据并将其传递给服务器端方法,该方法对其进行处理,例如。将传递的对象的所有值加倍:
Meteor.methods({
processData(localData) {
calculateDouble(localData);
}
});
calculateDouble(localData) {
// ...
return calculatedData;
}
现在我想在客户端显示这个计算数据而不将其保存在服务器端数据库中。
问题:如何将这些数据传递给客户端?
【问题讨论】:
-
为什么不只是
return它来自您的方法?calculateDouble是同步还是异步? -
基本值来自数据库并保存在本地集合中。每个用户都可以根据自己的条件修改这些值。为了进一步评估,这些值被传递给服务器,重新计算,然后它们应该被传递回客户端以显示。所以我的问题是:如何在模板辅助函数中使用返回值?
标签: javascript meteor