NodeJS: the beautiful callback err machine

One of the best things about NodeJS callbacks is their consistency. As in, most API calls require one and their method signature always follows the same pattern, and this is the most beautiful bit.

The first parameter of a callback is always an error object (which is null if no error occurred). This seems a little counterintuative at first. When you stop and think about it though, it really isn’t at all. My initial though was that most of the time, it isn’t going to be used, so why isn’t the result of the computation the first parameter? Well, that might be nice, but chances are you’re actually going to have to check to see if an error occurred first, before you start using your results, since if a error did occur, you probably don’t have any results anyway! Secondly, Node is cleverly reminding you that you should check for and deal with errors as they happen by ensuring you define a first parameter in order to define a second parameter to get at the stuff you want.

If the error was the second (or last) parameter the chances are you’d forget to define it, or the lazy would simply neglect to define it. This could happen because in JavaScript all parameters to functions are optional. Just because you do or don’t define parameters to a function, doesn’t mean you can’t call it with or without parameters. The function might not work in either of these cases, but nevertheless it is still possible to call it. It seems that by not coercing the programmer into defining an error parameter and dealing with it their code could become less robust.

The error parameter in the callback function is a necessity of asynchronous programming because errors cannot usually caught with a try/catch block as the execution of the callback function usually doesn’t happen in the block of code surrounded by the try/catch but instead in a later run of the event loop. I much prefer this way of dealing with errors as opposed to searching through my library code to find out if I even need to surround a function call in a try/catch by figuring out if it even does an operation that could possibly throw an error…and you know what, it’s future proof, because even if a function does no operations that could cause an error, it doesn’t mean that in a future version it won’t. By defining an error parameter from the start you can deal with a future mishap, now that is awesome.

21,185 thoughts on “NodeJS: the beautiful callback err machine

  1. Предлагаем услуги профессиональных инженеров офицальной мастерской. Еслли вы искали ремонт iphone 14 pro max в москве можете посмотреть на сайте: срочный ремонт iphone 14 pro max Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом

  2. Thank you for the good writeup. It in fact was a amusement account it.
    Look advanced to more added agreeable from you!
    However, how could we communicate?

    Also visit my homepage – zaramea01

  3. Предлагаем услуги профессиональных инженеров офицальной мастерской. Еслли вы искали ремонт iphone 14 pro max цены можете посмотреть на сайте: ремонт iphone 14 pro max цены Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом

  4. Предлагаем услуги профессиональных инженеров офицальной мастерской. Еслли вы искали ремонт iphone 14 pro max рядом можете посмотреть на сайте: ремонт iphone 14 pro max Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом

  5. Предлагаем услуги профессиональных инженеров офицальной мастерской. Еслли вы искали ремонт iphone 14 pro max можете посмотреть на сайте: ремонт iphone 14 pro max в москве Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом

  6. ThamesWater splurged millions of environmental ‘clean-up’ money on other costs including bonuses and dividends, it was claimed yesterday.

    It was also reported managers held talks to assess the risk of a
    backlash if it emerged cash for work such as cutting
    river pollution was spent elsewhere.

    The allegations suggest there were fears the spending could be a breach
    of licence and leave the firm open to accusations of law breaking.

    But Thames continued to pay bonuses worth hundreds of thousands,
    as well as millions in dividends as recently as March, while cutting back on spending
    promises. 

    Internal deliberations about axing the schemes occurred as early as 2021, according to
    claims. 

    But it continued to charge customers for the works, and regulator Ofwat
    was only formally told about their plans not to deliver these major projects in August 2023.

    ThamesWater splurged millions of environmental ‘clean-up’ money on other costs, it has
    been claimed (File image)

    It was also reported managers held talks to assess the risk of a
    backlash if this news emerged (File image)

    The firm blamed rising costs for delaying 98 of 826
    schemes in an industry-wide programme during the five-year window it
    promised. 

    Their delivery was a key justification for how much it could charge customers.

    Ofwat fined the firm £18.2million last week for paying
    ‘unjustified’ dividends, but also gave Thames permission to increase bills by 35 per cent by 2030.

    A Thames spokesman did not deny some of the environmental work funds had been used for bonuses and dividends,
    as reported by The Guardian, but said it was
    ‘fully committed’ to delivering all its commitments.

  7. Предлагаем услуги профессиональных инженеров офицальной мастерской. Еслли вы искали ремонт iphone 14 pro рядом можете посмотреть на сайте: ремонт iphone 14 pro адреса Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом

  8. Предлагаем услуги профессиональных инженеров офицальной мастерской. Еслли вы искали ремонт iphone 14 pro max цены можете посмотреть на сайте: ремонт iphone 14 pro max рядом Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом

  9. Предлагаем услуги профессиональных инженеров офицальной мастерской. Еслли вы искали ремонт iphone 14 pro max адреса можете посмотреть на сайте: ремонт iphone 14 pro max рядом Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом

  10. Предлагаем услуги профессиональных инженеров офицальной мастерской. Еслли вы искали ремонт iphone 14 pro max можете посмотреть на сайте: срочный ремонт iphone 14 pro max Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом

  11. Предлагаем услуги профессиональных инженеров офицальной мастерской. Еслли вы искали ремонт iphone 14 pro max в москве можете посмотреть на сайте: ремонт iphone 14 pro max Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом

  12. Предлагаем услуги профессиональных инженеров офицальной мастерской. Еслли вы искали ремонт iphone 14 pro в москве можете посмотреть на сайте: ремонт iphone 14 pro цены Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом

  13. Предлагаем услуги профессиональных инженеров офицальной мастерской. Еслли вы искали ремонт iphone 14 pro сервис можете посмотреть на сайте: ремонт iphone 14 pro в москве Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом

  14. Предлагаем услуги профессиональных инженеров офицальной мастерской. Еслли вы искали ремонт iphone 14 pro max адреса можете посмотреть на сайте: срочный ремонт iphone 14 pro max Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом

  15. Предлагаем услуги профессиональных инженеров офицальной мастерской. Еслли вы искали ремонт iphone 14 pro в москве можете посмотреть на сайте: ремонт iphone 14 pro Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом

  16. If you’re looking for relief from back pain or just want to improve your overall well-being, I highly recommend visiting a chiropractor in Seattle. They offer personalized treatments that can make a significant difference Chiropractor Seattle

  17. Предлагаем услуги профессиональных инженеров офицальной мастерской. Еслли вы искали срочный ремонт iphone 14 pro можете посмотреть на сайте: ремонт iphone 14 pro цены Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом

  18. Предлагаем услуги профессиональных инженеров офицальной мастерской. Еслли вы искали ремонт iphone 14 pro цены можете посмотреть на сайте: ремонт iphone 14 pro рядом Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>