Estoy trabajando en un desafío Advent of Code de 2019 (día 7), así que bonificación si lo has hecho antes. Básicamente, parte del desafío requiere que ejecutes 5 "computadoras" que procesan un lenguaje de programación inventado. Cada computadora proporciona una salida que debe pasar a la siguiente computadora para que la procese, y seguirá haciéndolo en un ciclo hasta que se cumpla una determinada condición de parada.
Creé una clase que genera una "computadora" y tengo 5 instancias ejecutándose simultáneamente. Cada instancia debe esperar a recibir la salida de la computadora a la que está conectada. Ignore a qué se está asignando, pero aquí está el código para la línea relevante:
this.code[this.code[i + 1]] = await ampA.output()
Aquí está el método de salida si tienes curiosidad:
output(output, value1) { output = value1 return output }El problema que tengo es que llama a ampA.output(), por lo que básicamente llama al método sin darle ningún argumento, lo cual no es correcto. Lo que quiero que haga es esperar a que ampA llegue a su siguiente salida y establecer la variable igual a esa salida. ¿Hay alguna forma de hacer esto? ¿Estoy incluso en el estadio de béisbol de hacer esto correctamente? Soy relativamente nuevo en la codificación, y async/await está un poco fuera de mi alcance, por lo que es posible que este sea un enfoque muy incorrecto. Cualquier ayuda es apreciada, y avíseme si necesita más aclaraciones sobre la situación.