Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/407.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Meteor.wrapAsync()不工作_Javascript_Asynchronous_Meteor - Fatal编程技术网

Javascript Meteor.wrapAsync()不工作

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.

我正在按照at的指南包装一个异步函数并同步调用它。然而,当代码执行时,它似乎完全跳过了方法调用。我不知道我做错了什么

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]