w3resource

JavaScript: Return true if an object looks like a Promise, false otherwise

JavaScript fundamental (ES6 Syntax): Exercise-189 with Solution

Check If Looks Like Promise

Write a JavaScript program that returns true if an object looks like a Promise, false otherwise.

  • Check if the object is not null, its typeof matches either object or function and if it has a .then property, which is also a function.

Sample Solution:

JavaScript Code:

// Define a function 'isPromiseLike' that checks if the given object 'obj' is similar to a Promise
const isPromiseLike = obj =>
  // Check if the object is not null and has a 'then' method, typically present in Promise objects
  obj !== null &&
  (typeof obj === 'object' || typeof obj === 'function') &&
  typeof obj.then === 'function';

// Test cases to check if the objects are promise-like
console.log(isPromiseLike({
  then: function() {
    return '';
  }
})); // true (has 'then' method)
console.log(isPromiseLike(null)); // false (null)
console.log(isPromiseLike({})); // false (object without 'then' method)

Output:

true
false
false

Flowchart:

flowchart: Return true if an object looks like a Promise, false otherwise

Live Demo:

See the Pen javascript-basic-exercise-189-1 by w3resource (@w3resource) on CodePen.


Improve this sample solution and post your code through Disqus

Previous: Write a JavaScript program that will return 1 if the array is sorted in ascending order, -1 if it is sorted in descending order or 0 if it is not sorted.
Next: Write a JavaScript program to get a boolean determining if the passed value is primitive or not.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Become a Patron!

Follow us on Facebook and Twitter for latest update.

It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.

https://www.w3resource.com/javascript-exercises/fundamental/javascript-fundamental-exercise-189.php