function myFunc(collback) {
// делаем что то
setTimeout(function() {
// эмуляция запроса на сервер
var response = "Вася Пупкин не авторизован";
// потом вызываем коллбек
collback(response);
}, 2000);
}
// используем так
myFunc(function(resp) {
// выполняется после того, как отработает myFunc()
console.log("Ответ от сервера: ", resp);
});
// Еще можно так
function MyPromise() {}
MyPromise.prototype.done = function(collback) {
if (typeof collback == "function") {
this.collback = collback;
} else {
this.collback.apply(this, arguments);
}
}
function myAnotherFunc() {
var promise = new MyPromise();
// делаем что то
setTimeout(function() {
// эмуляция запроса на сервер
var response = "Вася Пупкин уже авторизован";
// потом вызываем коллбек
promise.done(response);
}, 4000);
return promise;
}
// используем так
myAnotherFunc().done(function(resp) {
// выполняется после того, как отработает myFunc()
console.log("Ответ от сервера: ", resp);
});