Javascript Meteor未来异步调用
我尝试使用Instagram api返回一些值,但我必须推送到客户端,问题是这些值需要一段时间才能加载,所以我需要一种使用异步方法调用它的方法,我不确定Meteor Future是否正确Javascript Meteor未来异步调用,javascript,node.js,meteor,Javascript,Node.js,Meteor,我尝试使用Instagram api返回一些值,但我必须推送到客户端,问题是这些值需要一段时间才能加载,所以我需要一种使用异步方法调用它的方法,我不确定Meteor Future是否正确 Future = Npm.require 'fibers/future' myFuture = new Future popular_imgs = -> Insta.media.popular (img, err)-> myFuture.return img console.lo
Future = Npm.require 'fibers/future'
myFuture = new Future
popular_imgs = ->
Insta.media.popular (img, err)->
myFuture.return img
console.log(myFuture.wait())
如果您正确发布了代码,那么问题在于Coffeescript 根据翻译,你的未来将转化为
myFuture = new Future;
popular_imgs = function() {
...
};
这显然不是你想要的。解决方法很简单:
myFuture = new Future ->
Insta.media.popular (img, err)->
myFuture.return img
我改变了一些代码,现在开始工作了
getInstaPop = new Future()
Insta.media.popular (img, err) ->
getInstaPop.return img
console.log(getInstaPop.wait())
或者更好的是,使用香草JS。我知道CS看起来更整洁,但代价是你经常在看一段代码时不知道哪一部分去了哪里,并且希望你有那些大括号。