#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. о, и да, это немного сложно, но вы не можете расти, не делая вещей, которые выше вашего уровня 🙂