Typescript contacts.find(字段、选项)仅对ionic中for循环内的最后一个元素执行?

Typescript contacts.find(字段、选项)仅对ionic中for循环内的最后一个元素执行?,typescript,ionic2,Typescript,Ionic2,我有一个contacts数组,我迭代该数组中的每个元素并创建一个contacts对象,然后在保存到device contacts之前,我使用contacts.find()检查它是否已经存在于device contacts中。但由于这个完整的过程发生在for循环内部。contacts.find()仅对最后一个元素执行 private(contacts:Contact) { //constructor } somefunc() { for (var i = 0; i < data.l

我有一个contacts数组,我迭代该数组中的每个元素并创建一个contacts对象,然后在保存到device contacts之前,我使用contacts.find()检查它是否已经存在于device contacts中。但由于这个完整的过程发生在for循环内部。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);
        });
    }
}
private(联系人:联系人)
{
//建造师
}
somefunc()
{
对于(变量i=0;i
{
//做点什么
/*根据结果,我们将决定是保存为新联系人还是修改现有联系人*/
},(错误)=>
{
console.log(错误);
});
}
}

请仔细阅读以了解问题我们可以使用promise或async/await,以便在contacts.find()in for loop中的then执行未结束之前,我们不应该迭代下一项。