JavaScript හි callback භාවිතයෙන් asynchronous කේතය

අපට යම් asynchronous ශ්‍රිතයක් ඇතැයි සිතමු:

javascriptfunction make() {
  setTimeout(function() {
    console.log('1');
  }, 3000);
}

අපි මෙම ශ්‍රිතය පහත පරිදි භාවිතා කරමු යැයි සිතමු:

javascriptmake();
console.log('2'); // පළමුව ක්‍රියාත්මක වේ

ශ්‍රිතය තුළ ඇති asynchronous මෙහෙයුම ක්‍රියාත්මක වූ පසු, දෙවන console.log මෙහෙයුම ක්‍රියාත්මක වීමට අපට අවශ්‍ය යැයි සිතමු. මේ සඳහා භාවිතා කරන ප්‍රවේශයන්ගෙන් එකක් වන්නේ callback භාවිතයයි: බලාපොරොත්තුවෙන් ඇති කේතය නිර්නාමික ශ්‍රිතයකින් ආවරණය කර make ශ්‍රිතයට පරාමිතියක් ලෙස යවන්න:

javascriptmake(function() {
  console.log('2');
});

ඇත්ත වශයෙන්ම, මෙය අපගේ කාර්යය සඳහා විසඳුමක් නොවේ. අපි දැනට කර ඇත්තේ පහත ගිවිසුම ඇති කර ගැනීම පමණි: make ක්‍රියාත්මක වූ පසු කේතය ක්‍රියාත්මක කිරීමට අවශ්‍ය නම්, එම කේතය callback ලෙස make හට යවන්න.

අපගේ ගිවිසුම අනුව ක්‍රියා කිරීමට make ශ්‍රිතයේ කේතය නිවැරදි කරමු:

javascriptfunction make(callback) {
  setTimeout(function() {
    console.log('1'); // යම් asynchronous මෙහෙයුමක්, එකකට වඩා විය හැක
    callback();       // ඉන් පසු අපගේ callback
  }, 3000);
}
Задание 1

කුමන අනුපිළිවෙලෙන් සංඛ්‍යා console හි පෙන්වේදැයි පැහැදිලි කරන්න:

javascriptfunction make(callback) {
  setTimeout(function() {
    console.log('1');
    callback();
  }, 3000);
}

make(function() {
  console.log('2');
  console.log('3');
});