My FeedDiscussionsHeadless CMS
New
Sign in
Log inSign up
Learn more about Hashnode Headless CMSHashnode Headless CMS
Collaborate seamlessly with Hashnode Headless CMS for Enterprise.
Upgrade ✨Learn more
Call function only after validation success in javascript

Call function only after validation success in javascript

Rajnish Katharotiya's photo
Rajnish Katharotiya
·May 6, 2020

Photo by Jason Tharsiman on Unsplash

In the normal app, we always came across to function call only if one function returns positive or desired value. Yes? if yes, comment me on how you'd achieve it? 🤗

Before going further, I would like to welcome you to a new episode of series call Javascript Useful Snippets. In this series, I'm sharing some shortcodes and useful functions that can let you make your code faster and neat. So, if you haven't read my previous episodes articles please check it out here or else stay tuned till the end to learn something new 😋 .

I hope you have shared your answers in a comment. Well, mine is, I've defined one function called when(). This method will take two arguments one will be prediction function and another will be a function ( which needs to call after ).

How does this when() function works?

const when = (pred, whenTrue) => x => (pred(x) ? whenTrue(x) : x);

Here, as you see we have passed two arguments, prediction ( as pred ) and function ( as whenTrue ) in first arguments list. Before explaining further let me clerify one concept called carried function.

What is carried function?

It's a way to call multi-functions in one call. Let me provide one example, guess you want to add two numbers...

adding numbers:

const add = (a, b) => a + b;
add(3, 2) // 5

adding numbers in a carried way :

const add = a => (b => a+b);
const add3  = add(3)
add3(2) //5

which means we are simply calling a function inside a function or returning function inside function let's see a normal way of doing it is:

const add = function (a) {
  return function (b) {
    return a + b
  }
}

Now, you have idea about carried function syntex ( feel free to comment if it's unclear ) you can see I've defined when as a carried function which means it'll pass when function call parameters as first arguments list and call of this function will be passed as second argument list ( explain more clearly in function usage section ) and return of function, I've called pred function with an argument x and checked if it's true then returning whenTrue(x) ( callback/after function ) otherwise x itself is returned. Let's use it with one example.

How to use When() function ?

const divideNumber = when(x => x % 2 === 0, x => x / 2);
divideNumber(4); // 2
divideNumber(3); // 3

So, here i've first difined one function by using when() to divide integer by two if it's dividable with two ( means it should return integer only after dividation ) and when i passed first value, it's returing value after divition it but in case of secound value it's returing same as output.

I found When() function useful to validate value before passing it to other functions. So, I thought to share it with you too. I hope you liked my explanation (if yes, hit like ❤️ button ) and if you found it informative then do follow from here because I'll learn and share every day.😋

Also follow/subscribe me on my social media account to connect with me : twitter, youtube