0

我很难找到这个问题的答案——我怀疑是因为我可能没有使用正确的术语。我正在使用流星。

这是我想要完成的事情:

Function A - returns the flickr userID based on userAPI and username
Function B - uses the userID generated by Function A

我遇到的问题Function B是完成之前Function A有机会从 Flickr 检索信息。

延迟Function B并以某种方式将其与成功完成联系起来的最佳方式是Function A什么?

4

1 回答 1

2

由于 Meteor 是一个构建在 Node 之上的异步框架,因此您必须与您可能习惯的想法有所不同。一种方法如下。

var a = function(cb){
  var flickerId = getFlickerId();

  cb(flickerId);
};

var b = function(flickerId){
  //do something with the id
};

//call it
a(b);

我猜你正在使用一些框架来为你获取闪烁信息。该框架可能有一个函数调用,它接受一个回调,如上面的函数“a”。

随着回调堆栈越来越深,这种代码可能会变得混乱。一旦您掌握了上述内容,我建议您查看https://github.com/kriskowal/q以获得更清洁的解决方案。

于 2013-05-12T18:04:40.423 回答