From 166a6f9f70474b2c98461264efa5a0dd7c7cea35 Mon Sep 17 00:00:00 2001 From: Angelos Chalaris Date: Fri, 7 Aug 2020 15:41:55 +0300 Subject: [PATCH] Add isAsyncFunction --- snippets/isAsyncFunction.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 snippets/isAsyncFunction.md diff --git a/snippets/isAsyncFunction.md b/snippets/isAsyncFunction.md new file mode 100644 index 000000000..40bafd2ab --- /dev/null +++ b/snippets/isAsyncFunction.md @@ -0,0 +1,18 @@ +--- +title: isAsyncFunction +tags: type,function,intermediate +--- + +Checks if the given argument is an `async` function. + +Use `Object.prototype.toString()` and `Function.call()` and check if the result is `'[object AsyncFunction]'`. + +```js +const isAsyncFunction = val => + Object.prototype.toString.call(val) === '[object AsyncFunction]'; +``` + +```js +isAsyncFunction(function() {}); // false +isAsyncFunction(async function() {}); // true +```