cordova - Store multiple contacts in phonegap -


i using below code save contacts in device using phonegap. want perform action after contacts saved successfully. save() method asynchronous can't able know when contacts saved.

is possible without making change in save() method?

if not then, changes required in save() method?

 (var = 0; < allcontacts.length; i++) {              var obj = eval(allcontacts[i]);              var contact = navigator.contacts.create(obj);              contact.save();      } 

thanks in advance yogesh patel

i made change on above code

i have written code restore multiple contacts in iphone phonegap. , want perform action after contacts restore successfull. working fine if no of contacts near 400 if increase no of contacts near 1000 skip some(10 15) of contacts. each time when restore different no of skip contacts. , skip contacts fail() function not called. should next? need change save method in cordova js?

below code:

function storecontacttodevice(json1,callback) {     var temp=0;     var json2 = json1.split(';');      for(var kl=0;kl<json2.length;kl++){            var jsonparsecontact=json.parse(json2[kl]);            var mycontact = navigator.contacts.create(jsonparsecontact);            mycontact.save(function onsuccess(contact){                         var mssg="restoring contacts device  " + temp + "  out                                     of  " + json2.length;                         $.mobile.showpageloadingmsg( "b",  mssg, false );                        if(temp == json2.length - 1) {                             return callback();                         }                         temp++;                         } ,                         function onerror(contacterror){                           alert("error in saving contacts");                           return callback();                         }                         );            }  } 

thanks in advance yogesh patel

you can maybe use counters know when contacts saved:

function onsuccess(contact) {     this.successcount = this.successcount + 1;     if (this.contactnumber == this.successcount + this.errorcount) {         // know contacts have been saved     } }; function onerror(contacterror) {     this.errorcount = this.errorcount + 1;     if (this.contactnumber == this.successcount + this.errorcount) {         // know contacts have been saved     } }; ... ... // in function saving contacts this.successcount = 0; this.errorcount = 0; this.contactnumber = allcontacts.length; for(var = 0; < allcontacts.length; i++) {     var obj = eval(allcontacts[i]);     var contact = navigator.contacts.create(obj);     contact.save(onsuccess, onerror); } 

i hope solution you.


Comments

Popular posts from this blog

blackberry 10 - how to add multiple markers on the google map just by url? -

php - guestbook returning database data to flash -

java - Using an Integer ArrayList in Android -