我有两个回调函数,一个是getContactList,它只是获取所有联系人的id。第二个是getContactDetail,它通过给定的联系人ID返回联系人详细信息。我需要主代码中的每个详细信息的联系人列表,但它返回空列表。以下是简化代码。 (CONTACT_LIST_FUNCTION和CONTACT_DETAIL_FUNCTION是第三方功能)。
/*** main code ****/
getContactList(function(contact_list_with_detail) {
// show each contact with detail
});
// callback function 1
var getContactList = function(callback) {
var contact_list_with_detail = [];
CONTACT_LIST_FUNCTION({PARAMS}, function(err, contact_list) {
if (err) throw err;
for (var i=0; i < contact_list.length; i++) {
getContactDetail(contact_list[i].id, function(contact_detail) {
contact_list_with_detail.push(contact_detail);
});
}
callback(contact_list_with_detail);
});
});
// callback function 2
var getContactDetail = function(contact_id, callback) {
CONTACT_DETAIL_FUNCTION({PARAMS}, function(err, contact_detail) {
if (err) throw err;
callback(contact_detail);
});
}