ExpertiDict

JavaScript · Avançado · Inglês · Técnico

thenable

/ˈθɛnəbəl/substantivo

Qualquer objeto com um método then, que promises e await tratam como se fosse uma promise. É assim que bibliotecas diferentes de promises interoperam com as nativas.

Onde usar

Aparece em bibliotecas antigas e em objetos de teste. Em code review, um objeto com then por acaso, como um modelo com campo then, sequestra o await e causa bugs estranhos.

Em código

const t = {
  then(ok) { ok(42); },
};
(async () => {
  console.log(await t); // 42
})();

Exemplos

That mock is a thenable, so await calls its then method.

Esse mock é um thenable, então o await chama o método then dele.

Don't name a field then, or it becomes a thenable.

Não chame um campo de then, senão ele vira um thenable.

Cuidado

Criar um objeto com propriedade chamada then sem querer que ele seja assimilado como promise.

Veja também

Todos os termos de JavaScript