You need to sign in to do that
Don't have an account?
Francesca Ribezzi 2
I'd like it to stop counting when counter == oggetti.
window.clearInterval not working
Hi guys, my window.clearInterval doesn't work properly in my code.. can anyone give me any explanation on this, please? Thank you very much!
I'd like it to stop counting when counter == oggetti.
//Oggetti.cmp <aura:attribute name="counter" type="Integer" default="0"/> <aura:attribute name="setIntervalId" type="Integer"/> <aura:attribute name="oggettiLength" type="Integer"/> Collection : {!v.counter}
// OggettiController.js ({ doInit : function(component, event, helper) { helper.getOggettiLength(component, event); },
//OggettiHelper.js ({ getOggettiLength : function(component, event){ var collezione = component.get("v.collezione"); var action = component.get("c.getOggetti"); action.setParams({ collezione : collezione}); action.setCallback(this, function(response) { var state = response.getState(); if (state === "SUCCESS") { var risultato = response.getReturnValue(); console.log(JSON.stringify(response.getReturnValue())); console.log("RESPONSE " + risultato.length); component.set("v.oggettiLength", response.getReturnValue()); this.onInterval(component, event); var storeResponse = response.getReturnValue(); if (storeResponse.length == 0) { } else { }...... }, onInterval : function(component, event){ var oggettiLength = component.get("v.oggettiLength"); var i = 0; var interval = window.setInterval( $A.getCallback(function() { var value = i++; component.set("v.counter", value); var oggetti= component.get("v.oggettiLength"); var counter= component.get("v.counter"); if(counter == oggetti){ window.clearInterval(component.get("v.setIntervalId")); } }), 1000 ); component.set("v.setIntervalId", interval) ; },
Sorry for this issue you are encountering.
May I suggest you please check with below link from the stack exchange community with a similar discussion which might help you further.
- https://salesforce.stackexchange.com/questions/200011/reliable-way-to-clear-a-setinterval-used-by-a-lightning-component
Please let us know if this helps.Kindly mark this as solved if my reply was helpful.
Thanks,
Nagendra
Many thanks for your swift reply. I have alredy checked that post but what I'd like to achieve is to clear the interval as soon as it gets equal to "oggetti size" and not due to unrender or navigation :/