functions provided by browsers
attaching event listeners
Asynchronous programming is a technique that enables your program to start a potentially long-running task and still be able to be responsive to other events while that task runs, rather than having to wait until that task has finished
An event handler is a particular type of callback. A callback is just a function that's passed into another function, with the expectation that the callback will be called at the appropriate time
"callback hell" or the "pyramid of doom"
at a time
Making HTTP requests
Accessing a user's camera or microphone
Asking a user to select files
A long-running synchronous function
Only one thing can happen at a time
Note: It is important to remember that alert(), while being very useful for demonstrating a synchronous blocking operation, is terrible for use in real world applications
many Web API features now use asynchronous code to run
Instead, you need your code to wait until the response is returned before it tries to do anything else to it.
Callbacks are versatile — not only do they allow you to control the order in which functions are run and what data is passed between them
Note that not all callbacks are async — some run synchronously.
Glasp is a social web highlighter that people can highlight and organize quotes and thoughts from the web, and access other like-minded people’s learning.