Skip to content

Instantly share code, notes, and snippets.

View nairihar's full-sized avatar
😎
Always busy

Nairi Harutyunyan nairihar

😎
Always busy
View GitHub Profile
@nairihar
nairihar / simple-express-app.js
Last active May 12, 2018 12:31
Simple ExpressJS server, Graceful shutdown, medium
const express = require('express');
const mongoose = require('mongoose');
const app = express();
app.use(express.urlencoded({extended: true}));
app.use(express.json());
mongoose.connect('mongodb://localhost/test', (err) => {
if (err) throw err;
console.log('Mongoose connected!');
@nairihar
nairihar / handle-signal.js
Created May 12, 2018 13:16
Handle process exit signal, Graceful shutdown, medium
const express = require('express');
const mongoose = require('mongoose');
const app = express();
app.use(express.urlencoded({extended: true}));
app.use(express.json());
mongoose.connect('mongodb://localhost/test', (err) => {
if (err) throw err;
console.log('Mongoose connected!');
@nairihar
nairihar / close-http-server.js
Created May 12, 2018 13:56
Close http server, Graceful shutdown, medium
const express = require('express');
const mongoose = require('mongoose');
const app = express();
app.use(express.urlencoded({extended: true}));
app.use(express.json());
mongoose.connect('mongodb://localhost/test', (err) => {
if (err) throw err;
console.log('Mongoose connected!');
@nairihar
nairihar / close-mongo.js
Created May 12, 2018 14:08
Close MongoDB, Graceful shutdown, medium
const express = require('express');
const mongoose = require('mongoose');
const app = express();
app.use(express.urlencoded({extended: true}));
app.use(express.json());
mongoose.connect('mongodb://localhost/test', (err) => {
if (err) throw err;
console.log('Mongoose connected!');
@nairihar
nairihar / close-process.js
Created May 12, 2018 14:21
Close process, Graceful shutdown, medium
const express = require('express');
const mongoose = require('mongoose');
const app = express();
app.use(express.urlencoded({extended: true}));
app.use(express.json());
mongoose.connect('mongodb://localhost/test', (err) => {
if (err) throw err;
console.log('Mongoose connected!');
@nairihar
nairihar / for-of.js
Created May 20, 2018 13:00
for-of, Async Iterator in NodeJS v10, medium
const arr = [4, 5, 6]; // iterable object
for (const v of arr) { // iterates over the arr
console.log(v);
}
// 4, 5, 6
@nairihar
nairihar / symbol-iterator.js
Created May 20, 2018 13:05
Symbol iterator, Async Iterator in NodeJS v10, medium
const arr = [4, 5, 6]; // iterable object
const iterator = arr[Symbol.iterator]();
console.log(iterator.next()); // {value: 4, done: false}
console.log(iterator.next()); // {value: 5, done: false}
console.log(iterator.next()); // {value: 6, done: false}
@nairihar
nairihar / for-await-of.js
Last active May 20, 2018 14:40
for-await-of, Async Iterator in NodeJS v10, medium
function myPromise(t) {
return new Promise((r) => {
setTimeout(() => {
r(t);
}, t);
});
}
const arr = [myPromise(2000), myPromise(500), myPromise(400)]; // iterable object
@nairihar
nairihar / async-generator.js
Created May 20, 2018 14:09
Async Generator, Async Iterator in NodeJS v10, medium
async function* range(start, stop) {
for (let i = start; i <= stop; i++) {
yield i;
}
}
@nairihar
nairihar / async-generator-example-1.js
Created May 20, 2018 14:11
Async Generator, Async Iterator in NodeJS v10, medium
const arr = range(4, 8);
arr.next(); // Promise
(async () => {
console.log(await arr.next()); // {value: 5, done: false}
})();
(async () => {
console.log(await arr.next()); // {value: 6, done: false}
})();