У меня есть массив контактов, я перебираю каждый элемент в этом массиве и создаю объект контактов, а затем перед сохранением в контакты устройства я использую contacts.find (), чтобы проверить, существует ли он уже в контактах устройства. но так как этот полный процесс происходит внутри цикла. contacts.find () выполняется только для последнего элемента.
private(contacts:Contact)
{
//constructor
}
somefunc()
{
for (var i = 0; i < data.length; i++)
{
let contact: Contact = this.contacts.create();
contact.name = new ContactName(null, lastName, firstName, middleName);
contact.photos = [new ContactField("base64", "dfdgsf/nbbbb/hv....", true)];
contact.phoneNumbers = [new ContactField("454******", "mobile", true)];
this.contacts.find(
["displayName", "phoneNumbers", "emails"],
{ multiple: true, filter: "Sam", hasPhoneNumber: false })
.then((contactsArray) =>
{
//do something
/*based on result we will decide whether to save as a new contact or modify the existing contact*/
},(error) =>
{
console.log(error);
});
}
}