我只是想知道Meteor.methods结果存根。当我使用Meteor.call时,我尝试处理结果集但是当结果集超出Meteor.call区域时返回undefined。所以我认为如果我使用Session它可以解决。但有时这种方式是行不通的。所以,如果你们,让你知道控制这个主题的最佳方式,请告诉我你的解决方案!!
感谢您的评论,但我无法理解我的逻辑。因为我想从我们的旧项目代码中获取javaScript库模块。它通过iframe的html上下文处理jQuery的前端。 FirstTime,我尝试使用iframe标签计算出来。但它已经为跨域提出了问题。所以我尝试在Meteor上找到关于跨域的解决方案,但任何地方都没有解决方案。因此,我在思考如何解决它,然后我决定使用Meteor.http!这是来自客户端的回调函数的服务器端和内部块的工具html.content的成功。但是我无法将结果移出回调函数。我应该将方法的结果(iframe html内容)提供给我们的旧javascript代码...这就是我尝试这种方式的原因!对此有何想法?我包含javascript代码,它将有助于理解。
...
drawSvg2: function(){
var objIFrame = $("#iFrame_"+m.canvasIdx()).contents();
var objList = objIFrame.find('.page');
var len = objList.length;
for (i=0; i<len; i++){
var obj = objList[i];
var children = obj.children; //childNodes;
var num = 0;
for (var k = 0; k < children.length; k++) {
var children2 = children[k].children;
for (var j = 0; j < children2.length; j++) {
if(children2[j].children[0].nodeName == "P"){
m.textArray(num, new Object());
c.canvasFetch(children[k], children2[j], "", m.textArray()[num], num);
}else{
m.textArray(num, new Object());
c.canvasFetch(children[k], children2[j], children2[j].children[0], m.textArray()[num], num);
}
num++;
}
}
}
v.drawSvg3();
},
...
这是一个巨大的功能,并由jQuery处理前端,所以我不能把它放在Meteor.methods ..
答案 0 :(得分:0)
使用Meteor.call的方法:
Meteor.call('methodName', param1Value, param2Value,..., function (error, result) { ... } );
最后一个参数是回调。当结果准备好时,Meteor会调用此回调函数。在回调函数的主体内部,您可以使用结果执行任何操作。为什么需要将此结果返回给调用函数?你可以拆分逻辑,以便它调用Meteor.call,并处理回调中的其余部分吗?