不太确定如何将结果返回到外部函数,我想调用getListOfUsers()并获取返回的结果列表
function getListOfUsers() {
userlist.getUsers(function(next, res) {
var result = JSON.parse(res);
var listOfUsers = result.members.map(function (mem) {
return mem.name;
});
});
}

如果我返回到地图之外,它显然会返回undefined,如果我在外部定义它并在其中启动它,则返回null。 使用承诺让我处于相同的情况,我的回归在'然后'功能。这是什么常见做法?
答案 0 :(得分:0)
貌似,userlist.getUsers
是一个异步函数,这意味着你必须异步处理它并使用回调(通过promises,continuation或你喜欢的任何一种样式)将检索到的数据传递给其他代码。
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
});