Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:21.4.2022 13:35

Je mozne nejak zastavit cyklus pro map?
Jsem si vykopiroval jeden kod z webu a oni tam pouzivaji map a concat. A ja bych potreboval, kdyz prekrocim nejaky cas vykonavani, tento cyklus prerusit a zastavit. Nechtel bych to nahrazovat jinym, aby zustala podobnost kodu s tim kodem na webu.

blocks.map(sublist=>{
  if (!o.fn_algStopByTimeCheck()) {STOP_MAP_CYCLE;}
  result = result.concat(insertionSort(arr))
});

Nasel jsem jedinou moznost, vytvorit exception. Ale tam si nejsem tez jisty vysledkem, protoze mam limit na 0.5s a v tabulce mi ukazuje treba 1.7s, ze to bezelo.

try {
  blocks.map(sublist=>{
    if (!o.fn_algStopByTimeCheck()) {throw 'MyStopMapCycleException';}
    result = result.concat(insertionSort(arr))
  });
} catch (e) {if (e !== 'MyStopMapCycleException') {console.log(e); throw e;} else {console.log(e);}}

Zkusil jsem: .

Chci docílit: .

 
Odpovědět
21.4.2022 13:35
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:21.4.2022 14:08

Ha, tak asi to mam, je tam treba pridat return, proste skocit na konec funkce pri zachyceni exception.

} catch (e) {if (e !== 'MyStopMapCycleException') {console.log(e); throw e;} else {console.log(e); return false;}}
 
Nahoru Odpovědět
21.4.2022 14:08
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 2 zpráv z 2.