Promise.resolve без аргументов, переданных в

вКодовая база OpenUI5 Я наткнулся на этот фрагмент:

// Wait until everything is rendered (parent height!) before reading/updating sizes.
// Use a promise to make sure
// to be executed before timeouts may be executed.
Promise.resolve().then(this._updateTableSizes.bind(this, true));

Похоже,родная функция Promise используется, без аргументов, передаваемыхresolve функция, которая принимает:

Аргумент должен быть решен этим обещанием. Также может быть Обещанием или решением проблемы.

Таким образом, поскольку это выглядит так, как будто обещание просто немедленно разрешается и вызываетthenобратный звонок,возможно намерениепохожий на:

var self = this;
setTimeout(function() {
    self._updateTableSizes.bind(self, true)
}, 0);

... в основном, освобождая цикл обработки событий JavaScript, чтобы завершить другие действия (например, рендеринг), а затем вернуться обратно к обратному вызову?

Мой вопрос:

Это общий шаблон? Лучшая практика? Есть ли какие-либо преимущества / недостатки в любом подходе?

Ответы на вопрос(2)

Ваш ответ на вопрос