Promises jako callback dla akcji/formularzy

0

Witam,
z powodzeniem używamy Promise jako resultat dla AJAX. W kodzie dodatkowo async + await i pięknie.

Ale zastanawiamy się nad wprowadzeniem Promise na poziom akcji formularzy tzn czyli zamiast przekazywać callback do modala bootstrapa zrobić to tak jak poniżej.

  1. Czy promise nadaj się tak takich zadań długotrwałych gdzie dezycja z formularza i tym samym resolve przychodzi np po 10minutach?
  2. Czy jak mamy dużo nierozwiązanych/porzuconych promise to czy to ma jakieś konsekwencje?
(async ()=>{
let userDecision = await boostrap.showConfirm('Wykonać?');
if(userDecision){
//XXX
}
})()
0

Pokaż przykład jakbyś chciał to zaimplementować.

Czy jak mamy dużo nierozwiązanych/porzuconych promise to czy to ma jakieś konsekwencje?

Raczej nie - GC to zgarnie jak każdy inny obiekt (ale znowu - pokaż implementację).

0

Ok pokazuje pseudo kod dla modalWindow


function openModalWindow(title, question){
     return new Promise((resolve)=>{
            boostrap.showModal({closeModalCallback:resolve)
  });

}
i wtedy
let result = await openModalWindow('a', 'b')
0

Chyba nie widzę przeciwwskazań - Promise to inny sposób na zapis callbacków, może trwać tak długo jak otwarta jest karta przeglądarki. No chyba, że o czymś nie pomyślałem.

Wydaje mi się, że mozna to też krócej zapisać, ale nie będę się bawił pseudokodem.

1 użytkowników online, w tym zalogowanych: 0, gości: 1