Skip to content

Instantly share code, notes, and snippets.

View niinpatel's full-sized avatar
💭
goofing off

Nitin Patel niinpatel

💭
goofing off
View GitHub Profile
@niinpatel
niinpatel / simple callback hell.js
Last active June 9, 2018 18:39
An example of a callback hell
/*
Suppose I want to add two numbers, then double it, then square that number, then add double it again.
*/
addTwoNos(2, 3, (sum) => {
double(sum, (doubleOfSum) => {
square(doubleOfSum, (square) => {
double(square, (doubleOfSquare) => {
console.log(doubleOfSquare)
})
})
@niinpatel
niinpatel / Promises.js
Last active June 9, 2018 20:12
Using promises for asynchronous execution.
/*
Suppose I want to add two numbers, then double it, then square that number, then add double it again. Using Promises.
*/
addTwoNos(2, 3)
.then(sum => double(sum))
.then(doubleOfSum => square(doubleOfSum))
.then(square => double(square))
.then(output => console.log(output))
.catch(err => console.log(err));
@niinpatel
niinpatel / asyncawait.js
Last active June 9, 2018 20:12
Using Async Await to create asynchronous code.
/*
An aync function that takes two numbers and performs some operations
*/
performOperations(2,3).then(output => console.log(output)).catch(err => console.log(err));
async function performOperations(a,b) {
let sum = await addTwoNos(a, b);
let doubleOfSum = await double(sum);
@niinpatel
niinpatel / asyncmodule.js
Last active June 9, 2018 20:11
Asynchronous Map Function
/**
* Asynchronous Map Function via async module
*/
const Async = require('async');
Async.map([1,2,3], double, (err, results) => {
if(err) console.log(err);
console.log(results)
} );
setTimeout(() => console.log('this code is executed asynchronously'), 0)
function playMontyHall(toSwitch) {
let carIsIn = Math.floor(Math.random() * 3);
let doorSelected = Math.floor(Math.random() * 3);
let revealedDoor = [0,1,2].find((door) => door !== carIsIn && door !== doorSelected);
if(toSwitch){
return carIsIn === [0,1,2].find((door) => door !== doorSelected && door !== revealedDoor)
function simulateGame(num, toSwitch) {
let gamesWon = 0;
for(let i = 0; i < num; i++){
gamesWon += playMontyHall(toSwitch)
}
return gamesWon
}
console.log(simulateGame(1000, toSwitch = true)); // play 1000 times, switch the door. Print how many times won.
console.log(simulateGame(1000, toSwitch = false)); // play 1000 times, don't switch the door. Print how many times won.
/* Output of first line will be close to 666 while that of second will be close to 333. */
const express = require('express');
const bodyParser = require('body-parser');
const app = express();
let applications = [];
app.use(bodyParser.urlencoded({extended : true}));
app.use(bodyParser.json());
import React, {Component} from 'react';
class ResultComponent extends Component {
render() {
let {result} = this.props;
return (
<div className="result">
<p>{result}</p>