我按照The Meteor Chef的指南来包装异步函数并同步调用它。但是,当代码执行时,它似乎只是完全跳过方法调用。不确定我做错了什么。
if (!err) {
Meteor.methods({
'ldapLogin': function(username, password) {
var syncFunc = Meteor.wrapAsync(processLdapLogin);
var result = syncFunc(username, password, Meteor.user());
console.log(result);
}
});
Meteor.call('ldapLogin', username, password);
}
答案 0 :(得分:0)
Meteor Methods
转到服务器端
Meteor.call("ldapLogin", username, password, Meteor.user());
次呼叫在客户端(网络浏览器端)
现在,如果您在客户端代码(用户名,密码...)中传递参数,您还应该在方法中引用这些参数:
Meteor.methods({
'processLdapLoginWrapAsync': function(username, password) {
var syncFunc = Meteor.wrapAsync(processLdapLogin);
var result = syncFunc(username, password, Meteor.user());
console.log(result);
}
});
(如果确实这是从客户那里打算的话)
否则(如果用户名/密码来自服务器端,我相信这就是你的意图)你不应该从客户端传递这些参数而只能调用:
Meteor.call("ldapLogin")
在客户端