Hirdetés

Keresés

Új hozzászólás Aktív témák

  • Úgy tűnik, sikerült megoldani. A trükk az volt, hogy a fetchek elé kellett a return, ill. egy globál promises változóba összegyűjtöttem a getDiscussion visszatérési értékeit. Aztán még kellett egy Promise.all() a main függvénybe.

    async function main() {
    await getTodos();

    Promise.all(promises).finally(() => {
    if (success) {
    if (1 === table.rows.length) {
    printMsg("OK");
    }
    } else {
    printMsg("ERROR");
    }
    });
    }

    Bár őszintén szólva nem értem miért műxik. Ha nem awaitelem a getTodos-t, akkor a promise.all() rögtön lefut, ill. hiába awaitelem a getTodos-t, kell a promise.all().

  • Na, sikerült is csinálni projektet: [link]

    Úgy tűnik, sikerült megoldani. A trükk az volt, hogy a fetchek elé kellett a return, ill. egy globál promises változóba összegyűjtöttem a getDiscussion visszatérési értékeit. Aztán még kellett egy Promise.all() a main függvénybe.

    async function main() {
    await getTodos();

    Promise.all(promises).finally(() => {
    if (success) {
    if (1 === table.rows.length) {
    printMsg("OK");
    }
    } else {
    printMsg("ERROR");
    }
    });
    }

  • Sziasztok, segítsetek kérlek, mert már a hajamat tépem ettől az async témától. Egy egyszerű html oldalat akarok csinálni, ami gitlab API lekérdezéseket csinál. Annyi a cél, hogy listázza a merge requesteket. Ha bármi hiba van, akkor a táblázat végére írja ki, hogy ERROR, ha meg nincs semmi megjeleníthető, akkor OK-t. A probléma az, hogy a fetch miatt gyakorlatilag a kód végigcsorog mindenen, és előbb kezelődnek le a végső esetek, mint ahogy maga az API lekérdezés megtörténik.

    Sikerült olyan megoldást találnom, amiben mindenhova odaírom, hogy await, és akkor jó, de ez gondolom nem optimális, mert így tippre az összes hálózati lekérdezés szekvenciálisan fut le, ami meg lassú lesz.

    Csatoltam a működő minimál megoldást. Sajna kell a mappastruktúra, szimulálandó a szervert, szóval csak onedrive linket tudok adni egy zip-re: [link]

    Tehát összegezve: azt szeretném, hogy minden async legyen, kivéve a végső OK-ERROR kiíratást, ill. hogy valami értelmesebb módon kellene megoldani a hibakezelést is.

    Na, sikerült is csinálni projektet: [link]

  • Bzozoo
    tag

    Sziasztok, segítsetek kérlek, mert már a hajamat tépem ettől az async témától. Egy egyszerű html oldalat akarok csinálni, ami gitlab API lekérdezéseket csinál. Annyi a cél, hogy listázza a merge requesteket. Ha bármi hiba van, akkor a táblázat végére írja ki, hogy ERROR, ha meg nincs semmi megjeleníthető, akkor OK-t. A probléma az, hogy a fetch miatt gyakorlatilag a kód végigcsorog mindenen, és előbb kezelődnek le a végső esetek, mint ahogy maga az API lekérdezés megtörténik.

    Sikerült olyan megoldást találnom, amiben mindenhova odaírom, hogy await, és akkor jó, de ez gondolom nem optimális, mert így tippre az összes hálózati lekérdezés szekvenciálisan fut le, ami meg lassú lesz.

    Csatoltam a működő minimál megoldást. Sajna kell a mappastruktúra, szimulálandó a szervert, szóval csak onedrive linket tudok adni egy zip-re: [link]

    Tehát összegezve: azt szeretném, hogy minden async legyen, kivéve a végső OK-ERROR kiíratást, ill. hogy valami értelmesebb módon kellene megoldani a hibakezelést is.

    Például a Codesandbox-ra fel tudnád tenni, ahol ingyenesen használhatsz mappastruktúrát is. A Codepen-en is van ilyen, de az fizetős.

  • hiperFizikus
    senior tag

    Sziasztok, segítsetek kérlek, mert már a hajamat tépem ettől az async témától. Egy egyszerű html oldalat akarok csinálni, ami gitlab API lekérdezéseket csinál. Annyi a cél, hogy listázza a merge requesteket. Ha bármi hiba van, akkor a táblázat végére írja ki, hogy ERROR, ha meg nincs semmi megjeleníthető, akkor OK-t. A probléma az, hogy a fetch miatt gyakorlatilag a kód végigcsorog mindenen, és előbb kezelődnek le a végső esetek, mint ahogy maga az API lekérdezés megtörténik.

    Sikerült olyan megoldást találnom, amiben mindenhova odaírom, hogy await, és akkor jó, de ez gondolom nem optimális, mert így tippre az összes hálózati lekérdezés szekvenciálisan fut le, ami meg lassú lesz.

    Csatoltam a működő minimál megoldást. Sajna kell a mappastruktúra, szimulálandó a szervert, szóval csak onedrive linket tudok adni egy zip-re: [link]

    Tehát összegezve: azt szeretném, hogy minden async legyen, kivéve a végső OK-ERROR kiíratást, ill. hogy valami értelmesebb módon kellene megoldani a hibakezelést is.

    Nem vagyok járatos a témádban, de hátha el lehetne intézni 1 logikai változóval : legyen a neve BL1 a boolean után rövidítve . Ilyesmit gyakran használok .

    let BL1 ; BL1= true ; // vagy false, ahogy alkalmasabb neked

    listád eleje/:
    ág
    BL1= valami ;
    ág
    BL1= valami ;
    ág
    BL1= valami ;
    ...stb.

    utolsó ágad
    if (BL1){

    }; // if_
    /: listád vége .

    :(( : :)

Új hozzászólás Aktív témák

Hirdetés