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 +```