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