JavaScript ریلی
- ਪਿਛਲਾ ਪੰਨਾ JS ਸਟੈਟਿਕ
- ਅਗਲਾ ਪੰਨਾ JS ਅਸਿੰਕਰੋਨਸ
"I will call back later!"
ریکال (callback) دوسری فانکشن کو پارامتر کے طور پر دی جاتی فانکشن ہے
یہ تکنیک فانکشن کو دوسری فانکشن بجاآوردا کی اجازت دیتا ہے
ریکال فانکشن دوسری فانکشن کے کام کئے جانے کے بعد چل سکتا ہے
فانکشن سیریز
JavaScript فانکشن فرض کی جاتی ہیں کہ وہ ان کی تعریف کی ترتیب کے مطابق بجاآوردے، نہ کہ ان کی بجاآوردی جاتی ہوئی ترتیب کے مطابق
اس مثال کا آخری نتائج "Goodbye" دکھائیگا:
مثال
function myFirst() { myDisplayer("Hello"); myCallback(sum); function mySecond() { myDisplayer("Goodbye"); myCallback(sum); myFirst(); mySecond();
myCalculator(5, 5, myDisplayer);
اس مثال کا آخری نتائج "Hello" دکھائیگا:
مثال
function myFirst() { myDisplayer("Hello"); myCallback(sum); function mySecond() { myDisplayer("Goodbye"); myCallback(sum); mySecond(); myFirst();
ترتیب کنٹرول
بعض وقت آپ چاہتے ہیں کہ فانکشن کی کارروائی کی مدت کی بہتر کنٹرول کرسکتے ہیں
بجاؤ تو آپ کو محاسباتی نتائج دکھائیں، بعد میں نتائج دکھائیں
آپ محاسباتی فانکشن کو بجاآوردا (myCalculator
) نتائج بچاؤ، بعد میں دوسری فانکشن کو بجاآوردا (ਉੱਪਰੋਕਤ ਉਦਾਹਰਣ ਵਿੱਚ
) نتائج دکھائیں:
مثال
function myDisplayer(some) { document.getElementById("demo").innerHTML = some; myCallback(sum); function myCalculator(num1, num2) { function myCalculator(num1, num2, myCallback) { return sum; myCallback(sum); let result = myCalculator(5, 5); myDisplayer(result);
myCalculator(5, 5, myDisplayer);
یا تو آپ محاسباتی فانکشن کو بجاآوردا (myCalculator
)، اور محاسباتی فانکشن کو دکھانے والی فانکشن کو بجاآوردا (ਉੱਪਰੋਕਤ ਉਦਾਹਰਣ ਵਿੱਚ
) :
مثال
function myDisplayer(some) { document.getElementById("demo").innerHTML = some; myCallback(sum); function myCalculator(num1, num2) { function myCalculator(num1, num2, myCallback) { myDisplayer(sum); myCallback(sum); myCalculator(5, 5);
myCalculator(5, 5, myDisplayer);
اوپر کے پہلے مثال کا مسئلہ یہ ہے کہ آپ کو دو فانکشن بجاآوردا پوری نتائج دکھائے
دوسرے مثال کا مسئلہ یہ ہے کہ آپ نہیں کرسکتے کہ محاسباتی فانکشن نتائج دکھائے
اب وقت آگیا ہے کہ ریکال استعمال کیا جائے
JavaScript ریلی
ریکال ایک فانکشن ہے جو دوسری فانکشن کو پارامتر کے طور پر دی جاتی ہے
کوئی ریکال استعمال کرکے، آپ کرسکتے ہیں کہ محاسباتی فانکشن کو ریکال سے بجاآورداmyCalculator
)،وپس از اتمام محاسبات، فانکشن محاسباتی رو دروازہ ریکال بجاآوردا
مثال
function myDisplayer(some) { document.getElementById("demo").innerHTML = some; myCallback(sum); document.getElementById("demo").innerHTML = some; function myCalculator(num1, num2, myCallback) { let sum = num1 + num2; myCallback(sum); }
myCalculator(5, 5, myDisplayer);
ਸਿੱਧੇ ਪ੍ਰਯੋਗ ਕਰੋ ਉੱਪਰੋਕਤ ਉਦਾਹਰਣ ਵਿੱਚ
myDisplayer
ਇਹ ਫੰਕਸ਼ਨ ਦਾ ਨਾਮ ਹੈ。 myCalculator()
.
ਜਦੋਂ ਤੁਸੀਂ ਫੰਕਸ਼ਨ ਪੈਰਾਮੀਟਰ ਵਜੋਂ ਫੰਕਸ਼ਨ ਪਾਸ ਕਰਦੇ ਹੋ, ਬ੍ਰੇਕਟਸ ਨਹੀਂ ਵਰਤਣਾ ਚਾਹੀਦਾ。
ਸਹੀ: myCalculator(5, 5, myDisplayer);
ਗਲਤੀ: myCalculator(5, 5, myDisplayer());
ਕਦੋਂ ਕੱਲਬਾਕ ਵਰਤਣਾ ਚਾਹੀਦਾ ਹੈ?
ਉੱਪਰੋਕਤ ਉਦਾਹਰਣ ਬਹੁਤ ਆਕਰਸ਼ਕ ਨਹੀਂ ਹਨ。
ਇਹ ਸਰਲੀਕਰਨ ਕੀਤੇ ਗਏ ਹਨ ਤਾਂ ਕਿ ਤੁਹਾਨੂੰ ਕੱਲਬਾਕ ਦੀ ਸਿਫਾਰਸ਼ ਪੇਸ਼ ਕੀਤੀ ਜਾ ਸਕੇ。
ਕੱਲਬਾਕ ਵਾਸਤੇ ਸਹੀ ਹੈ ਅਸਿੰਕਰੋਨਸ ਫੰਕਸ਼ਨ, ਜਿਸ ਵਿੱਚ ਇੱਕ ਫੰਕਸ਼ਨ ਦੂਜੇ ਫੰਕਸ਼ਨ ਨੂੰ ਰੁਕਾਵਟ ਦੇਣਾ ਹੁੰਦਾ ਹੈ (ਉਦਾਹਰਨ ਵਜੋਂ ਫਾਇਲ ਲੋਡ ਕਰਨਾ)。
ਅਗਲੇ ਚਾਪਟਰ ਵਿੱਚ ਅਸਿੰਕਰੋਨਸ ਫੰਕਸ਼ਨ ਦੇਣਗੇ。
- ਪਿਛਲਾ ਪੰਨਾ JS ਸਟੈਟਿਕ
- ਅਗਲਾ ਪੰਨਾ JS ਅਸਿੰਕਰੋਨਸ