123

by Artem

JavaScript

'use strict';

let checkTimeout;
const fn = (cb) => {
	checkTimeout = setTimeout(() => {
  	fn(cb).catch(cb);
  }, 1000);
  
	return Promise.reject(2);
};

function verify(dispatchSignOut) {
	return new Promise((res, rej) => {
  	res();
    
		fn(dispatchSignOut).catch(dispatchSignOut);
  });
}

const dispatchSignOut = () => {
	console.log('rejected');
};

verify(dispatchSignOut).then(() => {
	console.log('resolved');
}).catch(dispatchSignOut);