Ads by ProfitSence

JavaScript Promise

Last Updated on Wednesday 5th Oct 2022


  • ES6's new solution for asynchronous programming in JS
  • Syntactically: Constructor
  • Functionally: The promise object is used to encapsulate an asynchronous operation and get its success/failure result value


File Operation using fs

					require("fs").readFile("./app.html", (err, data) => {




					$.get("/server", (data) => {



Why Use Promise

  • Support chain call, which can solve callback hell
  • The way to specify the callback function is more flexible

Generate random integers

					function rand(a, b) {
  return Math.ceil(Math.random() * (b - a + 1)) + a - 1;


The three States of Promise

A property in the promise instance object PromiseState.

  • pending: undecided
  • resolved /fulfilled: successful
  • rejected: failed


					new Promise((resolve, reject) => {



					new Promise((resolve, reject) => {


Promise.all([promise1, promise2, promise3])

  • The waiting principle is executed after all promises are completed.
					Promise.all([promise1, promise2, promise3]).then((values) => {
  // values is an array, will collect the results of the previous promise values[0] => the successful results of promise1


The value of the promise object Another property of the promise instance object PromiseResult.

Holds success/failure the result of the asynchronous operation of the object

  • resolve
  • reject