Generator Functions in JavaScript : asynchronous behaviour of Javascript Part -3

For part 1 and part 2 of this series, see the following links https://truetocode.com/understanding-callbacks-and-callback-hell-in-javascript-asynchronous-behavior-of-javascript-part-1/697/ https://truetocode.com/understanding-promises-in-javascript-asynchronous-behavior-of-javascript-part-2/730/   JavaScript version ES6/ES2017, a new kind of function called generator functions was introduced. These special functions help you to manage asynchronous operations with more ease. Generator functions can be paused and then continued. Generator functions are declared with an asterisk (*) and have a yield keyword which yields data. See the following example to see the proper syntax for using Generator functions.

  There is a next method in the generator function prototype. To get the value of the first yield we use the next() method.

    Here you can see that the response object has a key-value which gives the value of the yield and a done key which represents the status. Here in our example,  value will be 1 and done will be false. We have two yields in the generator function .next() gives false two times and a third time gives done as true. If you add a return to the generator function next() will have key done as true.

        Now, if a return is done before a yield

Here you can see that the second yield…

Understanding Promises in JavaScript : asynchronous behaviour of Javascript Part -2

In the previous article, we learned about using callback for performing asynchronous operations. In ES06/ES2015, Javascript introduced something called Promises which helps you handle  asynchronous operations in a better way The Promise object represents the eventual completion (or failure) of an asynchronous operation and its resulting value. Promises provide a better way for managing asynchronous operations when compared to traditional callback-based way. Promises represent data that may not be available but will be available later upon completing some asynchronous operation. A promise can be called a placeholder for future data and  has 3 states PENDING RESOLVED REJECTED Immediately on creation, the state of a Promise is pending. Resolved state means the asynchronous operation is fulfilled. Rejected means that the asynchronous operation is not completed and has some errors. Many Javascript native apis for asynchronous operations support promises since ES06. Prior to that many libraries including JQuery and Bluebird were used to create promises for doing asynchronous operations. Example for promises JavaScript fetch method returns a promise.

You can see that immediately the state of promise is pending. Now for resolving the promise and getting the output Promise.prototype.then() and Promise.prototype.catch() Promise.prototype.then() and Promise.prototype.catch() The promise object has a then method that returns the promise…

Fat arrow functions or arrow functions in Javascript
interview questions , Javascript / February 20, 2018

Arrow Functions primarly have two big advantages 1 They let us provide a shorter way to define functions 2  Arrow functions does not have their own  this, arguments(JavaScript functions have a built-in object called the arguments object), super, or new.target. These functions cannot be used as constructors.Arrow functions does not have their own this and it will have this value from their enclosing context .We can use this from the surrounding scope inside an arrow function such that we need not use bind() to bind this to a callback function.This more shorter yet more efficient way of writing a function was introduced in ES6. 1 They let us provide a shorter way to define functions Arrow functions provide us with a shorter way to defined function.For example see the following function which is written using the normal syntax

  The console.log gives output 6 . Now check the same function using arrow syntax

Now we can see a function with  a few parameters

Using arrow syntax

  2 Arrow functions – this,callbacks and bind() To understand more on this keyword read the following link https://truetocode.com/understanding-this-in-javascript/844/. See the following example.this is not available inside the callback function

To make this available inside the callback function…

Share this page in social media platforms