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í.
Pouze tento týden sleva až 80 % na e-learning týkající se Swiftu. Zároveň využij výhodnou slevovou akci až 30 % zdarma při nákupu e-learningu - více informací.
swift week + discount 30

Diskuze: Jak zastavit array.map() pri prekroceni casu?

Aktivity
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:21. dubna 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. dubna 13:35
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:21. dubna 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. dubna 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.