He leído que puedo agregar async antes del método created en Vue js, pero eso no rompe el ciclo de vida de vue porque al usar async se convierte en una acción asíncrona y se envía a la cola en segundo plano y por eso puede ejecutar el método posterior como mounted antes de que el método created termine su trabajo
Al usar
async, se convierte en una acción asíncrona y se envía a la cola en segundo plano.
No. No se ejecuta en segundo plano. Ni siquiera se difiere a "más tarde", el cuerpo de la función comienza a ejecutarse de inmediato. La única diferencia es que puede await algo, momento en el que la async function devuelve una promesa para su resultado final, después de que "algo" haya terminado. Pero Vue ignora esa promesa devuelta (como cualquier valor de retorno).
Entonces, sí, el código después de await podría ejecutarse "fuera de servicio", después de que se llamara a otro enlace como mounted , pero aún se ejecutará en primer plano en ese punto. En otras palabras, si el mounted se basa en algunas cosas de created , será necesario hacerlo de forma sincrónica. Sin embargo, aún puede hacerlo en la primera parte de una función async .
Esto no es diferente de crear una cadena de promesa en un método created que se define sin async .