Skip to content

Instantly share code, notes, and snippets.

View gskachkov's full-sized avatar

Oleksander Skachkov gskachkov

  • Itera Consulting
  • Ukraine, Kiev
View GitHub Profile
@gskachkov
gskachkov / async.function.declaration.js
Last active April 19, 2017 09:59
Example of the declaration async function
async function foo () {
const result = await fetch("https://randomuser.me/api/?results=10", { method: "GET" });
return result;
}
async function bar() {
console.log(await foo());
};
bar();
  • Overview of nonlinear control flow in javascript
  • Async function
    • Syntax(function, method, async arrow function expression)
    • Runtime -> Diagram how it works…
    • Examples
    • Use Symbols.Async
  • Using await
  • Using promises
    • Promise all
  • Promise race
@gskachkov
gskachkov / Promise.race.js
Created March 6, 2017 19:40
Example of usage Promise.race
var getPromise = (value, delay) => {
return new Promise(resolve => {
setTimeout(() => resolve(value), delay);
});
};
var promise1 = getPromise('value-1', 350);
var promise2 = getPromise('value-2', 250);
var promise3 = getPromise('value-3', 150);
@gskachkov
gskachkov / Promise.all.js
Last active July 16, 2017 21:28
Example of usage Promise.all
var getPromise = (value, delay) => {
return new Promise(resolve => {
setTimeout(() => resolve(value), delay);
});
};
var promise1 = getPromise('value-1', 150);
var promise2 = getPromise('value-2', 250);
var promise3 = getPromise('value-3', 50);
@gskachkov
gskachkov / Promise.reject.js
Last active March 6, 2017 14:20
Example of usage Promise.reject
var promiseImmediate = Promise.reject('Immediate value');
promiseImmediate.then(
result => console.log('promiseImmediate success:', result),
error => console.log('promiseImmediate fail:', error)
); // promiseImmediate fail: Immediate value
promiseImmediate.catch(error => console.log('promiseImmediate catch:', error));
var resolver = {};
var promise = new Promise((resolve, reject) => { resolver.reject = reject; });
@gskachkov
gskachkov / Promise.resolve.js
Last active July 20, 2017 20:40
Example of Promise.resolve function
var promiseImmediate = Promise.resolve('Immediate value');
promiseImmediate.then(result => console.log('promiseImmediate:', result));
// 'promiseImmediate: Immediate value' will visible imidiatly
var resolver = {};
var promise = new Promise(resolve => { resolver.resolve = resolve; });
var promiseDefferred = Promise.resolve(promise);
promiseDefferred.then(result => console.log('promiseDefferred:', result));
// No any text
@gskachkov
gskachkov / ChainOfPromises.js
Last active March 6, 2017 19:50
Example of chain of promises
var getPromise = (value, delay) => {
return new Promise(resolve => {
setTimeout(() => resolve(value), delay);
});
};
var promise = getPromise('start value', 150);
promise
.then(result => {
@gskachkov
gskachkov / RejectPromise.js
Created February 27, 2017 11:12
Example of Reject Promise
var bar = new Promise(function (resolve) {
setTimeout(function () { reject('error'); }, 50);
});
bar.then(function() {}, function (reject) {
console.log('reject:', reject);
}); // reject:error
bar.catch(function (reject) {
console.log('catch:', reject);
@gskachkov
gskachkov / ResolvePromise.js
Last active February 27, 2017 11:08
Example of resolve promise
// Create promise
var promise = new Promise(function (resolve) {
//Resolve promise in 50ms with string 'success'
setTimeout(function () { resolve('success'); }, 50);
});
// Handle successful resolve of promise
promise.then(function (result) {
console.log(result); // Print: success
});
@gskachkov
gskachkov / Promise.js
Created February 27, 2017 11:00
Example of Promise
var promise = new Promise(function(resolve, reject) { … } );