- [Instructor] In asynchronous programming,…there is something many programmers…refer to as callback hell.…It can happen to nearly everyone…and it creates very difficult code.…Let's take a look at what it is exactly…and how we can avoid it.…Let's create a very basic bad word filter…for our post message function.…There are better ways to make this,…but we will purposefully make the callbacks nested…so that you can understand the teaching point.…So let's go down to our message post function on line 25.…If a message was successfully saved and there was no error,…let's check for bad words inside the database.…
So we'll use message.findOne…and we'll check for a message…that has the word badword in it,…and then let's pass a callback with an error…and the censored word that it finds.…If there is a censored word,…let's console.log censored words found,…and we'll display censored.…
And if we did find a censored word, let's remove it.…We'll use message.remove…and then pass in the ID.…So we'll check for _id and we'll use censored.id.…
Author
Updated
4/5/2019Released
11/7/2017- Asynchronous tasks and callbacks
- Benefits and features of JavaScript
- Managing third-party packages with npm
- Node.js frameworks
- Static serving with Express
- Creating a browser app
- Exploring databases
- Saving data to MongoDB with Mongoose
- Error handling and debugging
- Simple tests and async tests
Skill Level Beginner
Duration
Views
-
Introduction
-
Welcome41s
-
-
1. Introduction to Node
-
Download and install Node1m 28s
-
2. Understanding npm: Node Package Manager
-
Write your own module2m 18s
-
-
3. Reading and Writing Files
-
Read from files4m 31s
-
Access directories1m 6s
-
Write to a file2m 46s
-
-
4. Exploring Web Frameworks
-
Node.js frameworks1m 23s
-
Express1m 6s
-
Socket.io55s
-
-
5. Building Your Demo App Chat Client for the Browser
-
Static serving with Express5m 30s
-
Create your browser app8m 43s
-
Create your Socket.io event1m 59s
-
-
6. Exploring Databases
-
Types of data frameworks2m 2s
-
Set up MongoDB1m 46s
-
Mongoose2m 59s
-
-
7. Improving Asynchronous Code
-
Nested callbacks3m 27s
-
Promises7m 14s
-
Async/await2m 44s
-
-
8. Error Handling and Debugging
-
Try/catch2m 6s
-
Finally1m 40s
-
Editor debugging4m 14s
-
-
9. Testing
-
Simple test with Jasmine4m 33s
-
Async test with Jasmine5m 33s
-
-
Conclusion
-
Next steps1m 24s
-
- Mark as unwatched
- Mark all as unwatched
Are you sure you want to mark all the videos in this course as unwatched?
This will not affect your course history, your reports, or your certificates of completion for this course.
CancelTake notes with your new membership!
Type in the entry box, then click Enter to save your note.
1:30Press on any video thumbnail to jump immediately to the timecode shown.
Notes are saved with you account but can also be exported as plain text, MS Word, PDF, Google Doc, or Evernote.
Share this video
Embed this video
Video: Nested callbacks