我想在Iron Router的路由过程中检索客户的IP地址。我有一个服务器端的函数(getIP),但是路由里面的 "waitOn "函数不会等待服务器函数返回。
waitOn: function () {
Meteor.call('getIP', function(error, clientIp){...}}
我可以强迫它等待吗? 或者我可以用其他方法获取IP吗?
根据文档,waitOn钩子必须返回一个Handler,一个函数或一个数组。"为什么你不能用,是因为客户端的Meteor.call总是async的,你必须定义一个回调函数,在方法响应时调用。"鉴于这个性质,你只能使用Meteor方法,如果waitOn代码支持一个Promise,可以在方法回调时解决。
我认为唯一的方法是下面这个。
希望这对你有帮助,对你有用。