Skip to content

Instantly share code, notes, and snippets.

View CubikNeRubik's full-sized avatar
💭
I may be slow to respond.

Vlad Haidei CubikNeRubik

💭
I may be slow to respond.
View GitHub Profile
@CubikNeRubik
CubikNeRubik / promise-exercises.js
Last active April 22, 2021 11:28
Ex. Promises
function printWithDelay(text, delay = 0, callback){
setTimeout(() => {
console.log(text);
callback && callback(text);
}, delay);
}
/* Ex 0
Do pomisification of printWithDelay
@CubikNeRubik
CubikNeRubik / index.js
Created April 21, 2021 08:18
RxJS. Delayed output
const { interval, of } = Rx;
const { concatAll, map, first, delay } = RxOperators;
of(...[1,2,3,4]).pipe(
map(val =>
of(val).pipe(
delay(1000),
first(),
)
),
// sync code
var result1 = action1();
var result2 = action2(result1);
var result3 = action3(result2);
console.log(result3);
// async code with callbacks
action1(result1 => {
action2(result1, result2 => {
action3(result2, result3 => {
function RetryDecorator(func, attemps, time) {
let callCounter = 1;
return function internal (...args) {
try{
return func(...args);
} catch(e){
if(callCounter < attemps) {
console.info(`failed. retry in ${time}ms`)
return setTimeout(function(){
callCounter += 1;
@CubikNeRubik
CubikNeRubik / test.js
Created April 15, 2021 17:30
Postman. Auto set of tokens
var jsonData = pm.response.json();
pm.environment.set('accessToken', jsonData.accessToken);
pm.environment.set('refreshToken', jsonData.refreshToken);
pm.test("set accessToken", function () {
pm.expect(jsonData).to.have.property('accessToken');
});
pm.test("set refreshToken", function () {
pm.expect(jsonData).to.have.property('refreshToken');
});