我很难找到这个问题的答案 - 我怀疑是因为我可能没有使用正确的术语。我正在使用Meteor。
这是我想要完成的事情:
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
联系起来的最佳方法是什么?
答案 0 :(得分: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以获得更清晰的解决方案。