سلام
راجب کال بکها که داشتم مطالعه میکردم؛ از کال بکها به عنوان آپشنی برای اسینک کردن کدها استفاده شده بود
پس چرا تو کد زیر که از کال بک استفاده شده؛ بصورت سینک کدها اجرا میشه ؟
کد زیر رو که اجرا میکنم ؛ اول 3 ثانیه طول میکشه و بعد عدد 3 نمایش داده میشه و بعد 5 ثانیه طول میکشه و عدد 2 نشون میده در صورتی که اگه اسینک اجرا میشد؛ نباید 5 ثانیه طول میکشید و فقط باید 2 ثانیه طول بکشه
function one() {
console.log(1);
}
function two(cb) {
setTimeout(function() {
console.log(2);
cb();
}, 5000);
}
function three() {
setTimeout(function() {
console.log(3);
}, 3000);
}
one();
two(three);
در صورتی که در کد زیر؛ که از کال بک استفاده نمیشه؛ بصورت اسینک کدها اجرا میشه
(البته این موضوع که محیط کروم بصورت اسینک هستش رو اطلاع دارم فقط سوال بخاطر کال بکها هستش که برای اسینک قراره استفاده بشن ولی کارها رو بصورت سینک انجام میده)
function one() {
console.log(1);
}
function two() {
setTimeout(function() {
console.log(2);
}, 5000);
}
function three() {
setTimeout(function() {
console.log(3);
}, 3000);
}
one();
two();
three();