Несколько экземпляров одного и того же класса, как дождаться метода одного экземпляра и передать это значение другому экземпляру

#javascript #async-await

Вопрос:

Я работаю над вызовом с кодом в 2019 году (день 7), так что бонус, если вы делали это раньше. В основном часть задачи требует, чтобы вы использовали 5 «компьютеров», которые обрабатывают составленный язык программирования. Каждый компьютер выдает выходные данные, которые необходимо передать следующему компьютеру для обработки, и он будет продолжать выполнять это в цикле до тех пор, пока не будет выполнено определенное условие остановки.

Я создал класс, который генерирует «компьютер», и у него одновременно запущено 5 экземпляров. Каждый экземпляр должен ожидать получения выходных данных с компьютера, к которому он подключен. Игнорируйте, для чего он назначается, но вот код для соответствующей строки:

this.code[this.code[i 1]] = await ampA.output()

Вот метод вывода, если вам интересно:

 output(output, value1) {
        output = value1
        return output
    }
 

Проблема, с которой я сталкиваюсь, заключается в том, что это вызывает ampA.output (), поэтому в основном он вызывает метод без предоставления ему каких-либо аргументов, что неверно. Что я хочу, чтобы он сделал, так это дождался, пока ampA придет к следующему выходу, и установил переменную, равную этому выходу. Есть ли способ сделать это? Я вообще в состоянии сделать это правильно? Я относительно новичок в кодировании, и асинхронность/ожидание немного не в моей компетенции, так что, возможно, это очень неправильный подход. Любая помощь будет признательна, и дайте мне знать, если потребуется больше разъяснений о ситуации!

Комментарии:

1. Если вы новичок в кодировании, это довольно сложное приложение для начала.

2. Этот output метод не имеет для меня никакого смысла. Он просто возвращает один из своих параметров.

3. Назначение output = value1 не имеет никакого эффекта. Эта функция с таким же успехом может быть return value1;

4. Я понял после того, как я опубликовал, что это выглядело глупо и избыточно, это пережиток того, как у меня был код ранее, игнорируя значение output = value1, я поставил это как свою собственную функцию, потому что хотел иметь возможность дождаться конкретного действия по возвращению вывода.

5. о, и да, это немного сложно, но вы не можете расти, не делая вещей, которые выше вашего уровня 🙂