Ich habe ein Modul:Observing ES6 Moduleigenschaften
var progress = {
val: 0
};
var service = (function(){
function someMethod(){
progress.val++;
}
return{
someMethod: someMethod
};
})();
export {service,progress}
someMethod
wird eine Operation durchzuführen, wo ein Array iteriert wird. Ich möchte progress.val
um eins bei jeder Iteration erhöhen. Dieser Fortschritt soll dann zu beobachten sein:
System.import('components/Service.js')
.then(function(M){
self.progress = M.progress;
Object.observe(M.progress,function(c){
console.dir(c);
});
});
Leider hat der Beobachter Rückruf nur einmal aufgerufen wird, eine Reihe von Änderungen mit einem Punkt pro Iteration zu halten.
Wie kann ich den Rückruf bei jeder Iteration aufrufen?
Dies hat eigentlich nichts mit Modulen zu tun, deshalb sollten Sie vielleicht darüber nachdenken, den Titel Ihrer Frage zu ändern. –
Wenn Sie das Synchronisierungsverhalten möchten, können Sie das Object.observe beenden und stattdessen einen Getter/Setter verwenden, etwas weniger altmodisch, aber ähnlich wie http://jsfiddle.net/g35orqrq/ – dandavis