if(allString==arg){ вот это условие выплняется когда полностью весь ответ получен. это из первого then . после того как условие выполнится, возвращается значение для второго then
Это не так работает)
Я же говорю, даже если у тебя в then нет явного return - он всё равно произойдет, но с undefined. В твоем случае - когда allString ещё не полный и условие не сработало - произойдет передача undefined в следующий then
получается следующий then не ждет предыдущий ?
потому что даже если там промис, пока он выполняется, колбэк отдаст значение undefined ?
Если ты будешь из него явно возвращать промис, который где-то там резолвится - то будет ждать.
понял. получается у меня промис возвращается толко в конце, а до этого колбэк все равно отдает undefined . А как предотвратить возврат undefined следующему then и заставить ждать пока условие выполнится ?
Никак. Делай либо reject либо resolve и проверяй это в следующем then либо лови с catch
понял, спасибо. думал как-то можно избежать дополнительную проверку в последнем then .
Обсуждают сегодня