Javascript Meteor.wrapAsync()不工作
我正在按照at的指南包装一个异步函数并同步调用它。然而,当代码执行时,它似乎完全跳过了方法调用。我不知道我做错了什么Javascript Meteor.wrapAsync()不工作,javascript,asynchronous,meteor,Javascript,Asynchronous,Meteor,我正在按照at的指南包装一个异步函数并同步调用它。然而,当代码执行时,它似乎完全跳过了方法调用。我不知道我做错了什么 if (!err) { Meteor.methods({ 'ldapLogin': function(username, password) { var syncFunc = Meteor.wrapAsync(processLdapLogin); var result = syncFunc(username, password, Meteor.
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);
}
Meteor
方法
转到服务器端
Meteor.call(“ldapLogin”,用户名,密码,Meteor.user())代码>调用在客户端(web浏览器端)进行
现在,如果要在客户端代码(用户名、密码…)中传递参数,还应在方法中引用这些参数:
Meteor.methods({
'processLdapLoginWrapAsync': function(username, password) {
var syncFunc = Meteor.wrapAsync(processLdapLogin);
var result = syncFunc(username, password, Meteor.user());
console.log(result);
}
});
(当然,如果客户确实有意这样做)
否则(如果用户名/密码来自服务器端,我相信这正是您在这里想要的),您不应该从客户端传递这些参数,而只调用:
流星呼叫(“ldapLogin”)
在客户端上从哪里调用
processLdapLoginWrapAsync()
?你所做的只是声明了一个Meteor方法,你必须调用它才能工作。嗯,这就是我想知道的,但是我在网上读到的多个指南中没有一个显示调用新创建的方法…似乎根本不需要将其放入Meteor方法中。拆下第2、3、8、9行,然后看看效果如何。你看到了什么样的错误?我改变了我原来的帖子,加入了答案/评论中的建议,现在在上面第2行出现了以下错误:调用方法“ldapLogin”时出错:找不到方法[404]