我有以下代码来选择多个联系人,并且只过滤具有 XYZ 的名称。我正在使用然后完成这个过滤器。在我的联系人中,有一位名叫XYZ Dude的联系人,我也在选择它。在我在 then 方法中应用过滤逻辑之后,不应该在我的 done 方法中传递这个联系人吗?任何想法我在这里可能做错了什么
var picker = new Windows.ApplicationModel.Contacts.ContactPicker();
// Open the picker for the user to select a contact.
picker.pickMultipleContactsAsync().then(function (contacts) {
var contactsStartingWithPrefixPa = contacts.filter(function filterContacts(contact) {
if (contact.name.match(/XYZ/))
return true;
return false;
});
}).done(function (contacts) {
// code never reaches here
if (contacts != null ) {
contacts.forEach(function (contact) {
if (contact !== null) {
// logic to use this contact
}
}
)}
});