Является ли это хорошей практикой?
Если вы просто хотите, чтобы оно повторялось всякий раз, когда заканчивается, и следите за тем, чтобы следующая итерация не начиналась до завершения предыдущей, этоидеально хорошая практика (намного лучше, чем setInterval()
).Ваш цикл останавливается, если где-либо происходит отклонение, поэтому вы можете захотеть закодировать, что должно произойти с .catch()
.
Есть ли проблемы с памятью при рекурсивном вызове метода «refresh» в последнем ».тогда 'заявление?
Нет.Отсутсвуют.* * * * * * * * * * * * * * * * * *} * * * * * * * * * * * * * * * * * * * * * *} * *} * * * * * *} *} *} *} *} *} *} *} * * * * *} * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Требует, чтобы вы выполнили асинхронные операции.в javascript - соображения памяти для более подробного обсуждения потребления памяти во время цикла.
К вашему сведению, это должен быть псевдокод, поскольку функция, определенная как свойство refresh: function() {}
, не будет напрямуювызывается с .then(refresh)
.Итак, я предполагаю, что вы сделали это правильно в своем реальном коде.