JS Promise

Idris

  • *****
  • 1 721
    • Zobrazit profil
    • E-mail
Re:JS Promise
« Odpověď #30 kdy: 01. 01. 2022, 22:13:50 »
[…] preto som nemohol/nechcel nic vratit.

return () => events.close by stacilo
Pokud se nemá nic vracet, tak se té streamovací funkci může předat kontext (v tomto případě prázdný objekt), funkce v něm nastaví ctx.cancel na tu lambdu, kterou jiní navrhují vrátit, a volající pak zavolá ctx.cancel(). Je to v zásadě to samé, jen se explicitně nic nevrací.


Ink

  • ****
  • 436
    • Zobrazit profil
    • E-mail
Re:JS Promise
« Odpověď #31 kdy: 02. 01. 2022, 08:48:28 »
[…] preto som nemohol/nechcel nic vratit.

return () => events.close by stacilo
Pokud se nemá nic vracet, tak se té streamovací funkci může předat kontext (v tomto případě prázdný objekt), funkce v něm nastaví ctx.cancel na tu lambdu, kterou jiní navrhují vrátit, a volající pak zavolá ctx.cancel(). Je to v zásadě to samé, jen se explicitně nic nevrací.

Taky dobré řešení. Obecná zkušenost - pokud něco vypadá zbytečně složitě, je dobré zvolenou cestu zrevidovat a zkusit najít jinou. Ale hlavně je dobré (což OP nakonec udělal) osvětlit celý problém vedle žádosti o radu s již rozpečeným řešením.

Idris

  • *****
  • 1 721
    • Zobrazit profil
    • E-mail
Re:JS Promise
« Odpověď #32 kdy: 02. 01. 2022, 10:11:12 »
[…] preto som nemohol/nechcel nic vratit.

return () => events.close by stacilo
Pokud se nemá nic vracet, tak se té streamovací funkci může předat kontext (v tomto případě prázdný objekt), funkce v něm nastaví ctx.cancel na tu lambdu, kterou jiní navrhují vrátit, a volající pak zavolá ctx.cancel(). Je to v zásadě to samé, jen se explicitně nic nevrací.
Taky dobré řešení.
Jo, a běžné v kontextu CSP, tady to je jen velmi speciální (podstatně jednodušší) případ.