Hirdetés

Keresés

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

  • Jim-Y

    veterán

    válasz Zedz #4832 üzenetére

    De, a sima return-nek bőven van haszna, ugyanis a segítségével lehet idő előtt megszakítani a metódus interpretálását.
    Ezek mind-mind ugyanazt eredményezik

    > (function(){ return void 0; })();
    undefined
    > (function(){ return; })();
    undefined
    > (function(){ return undefined; })();
    undefined
    > (function(){ return console.log('returned'); })();
    returned
    undefined

    Annyi, hogy az utolsó esetben egy kis "trükkhöz" folyamodunk, ezt általában node esetén használják, ugyanis ott van egy "error first"-nek nevezett stílus, így lettek a core modulok megírva. Ezt azt jelenti, hogy:

    ORM.find({}, function successCallback(err, datas) {
    if (err) {
    console.error('Error happened, returning', err);
    }
    response.send(200, datas);
    });

    Ez a példa hibás, ugyanis nem sikerült az adatbázisból való lekérdezés, hiba történt, így vissza kéne térni a függvényből, hogy a response.send ne futhasson le, ugyanis a datas adatoknak nincs értékük. Ezt kéne írni:

    ORM.find({}, function successCallback(err, datas) {
    if (err) {
    console.error('Error happened, returning', err);
    return;
    }
    response.send(200, datas);
    });

    De az emberek sűrűn elfelejtik kiírni a return;-t így inkább ezt szokták javasolni:

    ORM.find({}, function successCallback(err, datas) {
    if (err) {
    return console.error('Error happened, returning', err);
    }
    response.send(200, datas);
    });

    ==================================================

    Amit a konzolban kaptál az pedig szerintem csakis annyiról szól, hogy az emberek ne a return false;-t használják az e.preventDefault() helyett.

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