我正在尝试在Iron Router的路由过程中检索客户的IP地址。我有一个用于此(getIP)的服务器端函数,但是路由内的“ waitOn”函数不会等待服务器函数返回:
waitOn: function () {
Meteor.call('getIP', function(error, clientIp){...}}
我可以强迫它等待,还是可以其他方式获得IP?
答案 0 :(得分:0)
根据文档,waitOn挂钩必须返回Handler,函数或数组。之所以对您不起作用,是因为客户端上的Meteor.call始终是异步的,并且您必须定义一个回调函数,该方法在响应时被调用。 鉴于这种性质,如果waitOn代码支持Promise,则只能使用Meteor方法,可以在方法回调中解决该问题。
我看到的唯一方法如下:
希望这对您有所帮助。