Creé una const dentro this.api.getApi().subscribe(({tool,beuty}) , ¿cómo puedo ejecutarla dentro de mi declaración if como esta:
if (evt.index === 0) {aa} Crearé más líneas como esta y quiero ejecutarlas con diferentes sentencias if :
this.beu=beuty.slice(0,this.i+=15);¿Hay una mejor solución para hacer eso?
Código:
onScrollDown(evt:any ) { setTimeout(()=>{ this.api.getApi().subscribe(({tool,beuty}) => { const aa=this.beu=beuty.slice(0,this.i+=15); }) if (evt.index === 0) {aa} },1000); }No puede acceder a una variable declarada usando const fuera de su alcance de bloque. Pruebe lo siguiente y obtendrá un ReferenceError :
function foo() { const bar = "bar"; } console.log(bar); Por lo tanto, no puede usar aa fuera de la devolución de llamada pasada a this.api.getApi().subscribe() .
Si desea poder usar aa fuera de la devolución de llamada, puede definir aa usando let . En codigo:
onScrollDown(evt:any) { setTimeout(() => { // Add this: let aa; this.api.getApi().subscribe(({tool,beuty}) => { // Change this: aa=this.beu=beuty.slice(0,this.i+=15); }) if (evt.index === 0) {aa} }, 1000); }Espero que esto ayude. Realmente no puedo decir si funciona porque no tengo el guión completo.