Promise.resolve sem nenhum argumento passado
NoBase de código do OpenUI5 Me deparei com este trecho:
// 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));
Parece que ofunção nativa Promise está sendo usado, sem nenhum argumento sendo passado para eleresolve
função que recebe um:
Argumento a ser resolvido por esta promessa. Também pode ser uma promessa ou uma tabela a ser resolvida.
Então, como parece que a promessa simplesmente resolveria imediatamente e invocariathen
retorno de chamadapossivelmente a intenção éigual a:
var self = this;
setTimeout(function() {
self._updateTableSizes.bind(self, true)
}, 0);
... basicamente, liberando o loop de eventos em tempo de execução do JavaScript para concluir outras coisas (como renderização) e depois voltar ao retorno de chamada?
Minha pergunta é:
Esse é um padrão comum? Melhor prática? Existem vantagens / desvantagens em qualquer uma das abordagens?