У меня проблемы с управлением потоком выполнения. Это продолжение для node.js, bluebird, poor control of execution path и node.js table search fails with promises in use. Судя по выводам console.log, моя рекурсивная процедура работает отлично, за исключением того, что первый вызов для решения() (сигнал для n-го рекурсивного вызова) дает зеленый свет следующему коду, который не должен получать этот зеленый свет пока первый вызов рекурсивной подпрограммы вызовет resolve(). Оказывается, первый вызов рекурсивной подпрограммы доставляет ответ, который я хочу сообщить, но к тому времени, когда он сообщает об этом, последующий код больше не слушает его и работает блаженно вместе с «неопределенным» ответом. Плохо.Javascript, узел, обещания и рекурсия
Мой код очень долгий, чтобы поделиться здесь. Я попытался написать небольшую модель проблемы, но не нашел комбинацию факторов для повторения поведения.
Звучит знакомо? Как вы держите надлежащий контроль над обещаниями, выпускающими последующий код вовремя?
Я подумал, что, может быть, первый вызов подпрограммы может запустить массив, переданный в Promise.all, а позже вызовы добавят еще одну запись в этот массив. Я не пробовал. Псих?
Если вы не хотите публиковать кодовую стену здесь, не могли бы вы разместить свой код в скрипке? Очень сложно помочь без кода. – TbWill4321
Действительный пункт, конечно. Опция скрипки невозможна по другим причинам. Сожалею. И спасибо в любом случае. – BaldEagle