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, чтобы завершить другие действия (например, рендеринг), а затем вернуться обратно к обратному вызову?
Мой вопрос:
Это общий шаблон? Лучшая практика? Есть ли какие-либо преимущества / недостатки в любом подходе?