Quiero saber cómo usar el método setTimeout()
. Básicamente, quiero hacer clic en el elemento después de unos segundos y luego realizar algo.
Entonces, mi código es el siguiente,
class SomeComponent extends React.PureComponent {
on_first_render = () => {
this.somemethod_called();
setTimeout(() => {
this.props.handle_click(52, 16);
},0);
setTimeout(() => {
this.props.handle_click(522, 352);
}, 0)
setTimeout(() => {
const input = document.querySelector('input[type=text]
[name=somename]');
input && input.blur();
}, 700);
Como se ve en el código anterior, se llama al mismo método handle_click()
en dos métodos setTimeout()
y después de 7 segundos busco el elemento de entrada en el documento y lo elimino enfócate en él.
Siento que esto es un enfoque torpe y que no es correcto... ¿Podría alguien decirme cómo hacerlo de otra manera que no se repita así?
Gracias.
- someuser2491
SourceTal como están las cosas, tus setTimeout
s no están esperando nada; está poniendo en cola tres tiempos de espera que se resolverán después de 0, 0 y 700 ms respectivamente.
Aunque no estoy muy seguro de lo que busca al final, o si está haciendo las cosas de una manera muy idiomática de React, le sugiero que use async
/< z>}^{ y una función auxiliar de "retraso":
await