Javascript come fare a meno di with

Esce fuori che non posso fare a meno di with usando strict mode, mi sono chiesto come faccio a non avere effetti collatorali per via della closure, la soluzione che ho trovato è stata:

 

for(esaid in myarr) {
 var getter = function () {
  console.log('this is THIIIS',this);
  return function(success) {
    if(success.error) {
       $scope.errorMessage = success.error;
    } else {
       $scope.notificationPreferences[esaeid] = success;
    }
 };
 }.call({esaid:esaeid});
 EApicall.save(notpreferences,getter);
}

Così pare funzioni, deve essere un pattern conosciuto comunque.

Questo all’interno di un ciclo for, non importa, perché getter ha scope locale e non è influenzato dalla closure


Posted

in

,

by

Tags: