Node.js 将结果返回到外部函数
不太确定如何将结果返回到外部函数,我想调用getListOfUsers()并获取返回的结果列表Node.js 将结果返回到外部函数,node.js,design-patterns,callback,promise,Node.js,Design Patterns,Callback,Promise,不太确定如何将结果返回到外部函数,我想调用getListOfUsers()并获取返回的结果列表 函数getListOfUsers(){ getUsers(函数(下一步,res){ var result=JSON.parse(res); var listOfUsers=result.members.map(函数(mem){ 返回mem.name; }); }); }似乎,userlist.getUsers是一个异步函数,这意味着您必须异步处理它,并使用回调(通过承诺、延续或您喜欢的任何样式)将检
函数getListOfUsers(){
getUsers(函数(下一步,res){
var result=JSON.parse(res);
var listOfUsers=result.members.map(函数(mem){
返回mem.name;
});
});
}
似乎,userlist.getUsers
是一个异步函数,这意味着您必须异步处理它,并使用回调(通过承诺、延续或您喜欢的任何样式)将检索到的数据传递给其他代码
function getListOfUsers(cb) {
userlist.getUsers(function(next, res) {
var result = JSON.parse(res);
var listOfUsers = result.members.map(function (mem) {
return mem.name;
});
cb(null, listOfUsers);
});
}
然后,不要这样做:
var users = getListOfUsers();
// do things with users
您可以这样做:
getListOfUsers(function (err, users) {
// do things with users
});
谢谢,这就是我想做var users=getListOfUsers()之类的事情的原因;是因为我只想触发该函数一次,即发出请求,将结果存储在变量中,如果变量有结果,则不再发出请求@JohnO'Donnell你当然可以这样做,只是依赖于用户初始值的所有代码都必须在回调上下文中完成