జావాస్క్రిప్ట్ కాల్బ్యాక్

"I will call back later!"

కాల్బ్యాక్ (callback) అనేది మరొక ఫంక్షన్ కు పారామిటర్ గా పంపబడే ఫంక్షన్ అని అర్థం చేసుకోవచ్చు

ఈ సాంకేతికత ఫంక్షన్లను మరొక ఫంక్షన్ కాల్బ్యాక్ చేయడానికి అనుమతిస్తుంది

కాల్బ్యాక్ ఫంక్షన్లు మరొక ఫంక్షన్ పూర్తి అయిన తర్వాత నడపబడతాయి

ఫంక్షన్ క్రమం

JavaScript ఫంక్షన్లు గణనాక్రమంలో నడపబడతాయి. గణనాక్రమంలో కాకుండా గణనాక్రమంలో నడపబడతాయి.

ఈ ఉదాహరణ ముగించినప్పుడు "Goodbye" చూపిస్తుంది:

ప్రతిపాదన

function myFirst() {
  myDisplayer("Hello");
}
function mySecond() {
  myDisplayer("Goodbye");
}
myFirst();
mySecond();

亲自试一试

ఈ ఉదాహరణ ముగించినప్పుడు "Hello" చూపిస్తుంది:

ప్రతిపాదన

function myFirst() {
  myDisplayer("Hello");
}
function mySecond() {
  myDisplayer("Goodbye");
}
mySecond();
myFirst();

亲自试一试

క్రమబద్ధతలో నియంత్రణ

కొన్నిసార్లు మీరు ఫంక్షన్లను ఎప్పుడు నడపాలో మరింత మంచి నియంత్రణ కావాలి.

మీరు గణన చేయడానికి మరియు ఫలితాన్ని చూపించడానికి అనుమతిస్తారు.

మీరు కాల్బ్యాక్ ఫంక్షన్ నడపడానికి అనుమతిస్తారు (myCalculator) ఫలితాన్ని సేవ్ చేసి మరొక ఫంక్షన్ నడపడానికి అనుమతిస్తారు (myDisplayer) ఫలితాన్ని చూపించడానికి ఉపయోగించవచ్చు:

ప్రతిపాదన

function myDisplayer(some) {
  document.getElementById("demo").innerHTML = some;
}
function myCalculator(num1, num2) {
  let sum = num1 + num2;
  return sum;
}
let result = myCalculator(5, 5);
myDisplayer(result);

亲自试一试

లేదా మీరు కాల్బ్యాక్ ఫంక్షన్ నడపడానికి అనుమతిస్తారు (myCalculator) మరియు కాల్బ్యాక్ ఫంక్షన్ నడపడానికి అనుమతిస్తారు (myDisplayer):

ప్రతిపాదన

function myDisplayer(some) {
  document.getElementById("demo").innerHTML = some;
}
function myCalculator(num1, num2) {
  let sum = num1 + num2;
  myDisplayer(sum);
}
myCalculator(5, 5);

亲自试一试

ప్రథమ ఉదాహరణలో సమస్య ఏమిటంటే మీరు ఫలితాన్ని చూపించడానికి రెండు ఫంక్షన్లను కాల్బ్యాక్ చేయాలి.

రెండవ ఉదాహరణలో సమస్య ఏమిటంటే మీరు కాల్బ్యాక్ ఫంక్షన్ ఫలితాన్ని చూపించడానికి అనుమతించలేరు.

ఇప్పుడు కాల్బ్యాక్ ప్రవేశపెట్టడానికి సమయం వచ్చింది.

జావాస్క్రిప్ట్ కాల్బ్యాక్

కాల్బ్యాక్ అనేది మరొక ఫంక్షన్ కు పారామిటర్ గా పంపబడే ఫంక్షన్ అని అర్థం చేసుకోవచ్చు。

కాల్బ్యాక్ ఉపయోగించి మీరు కాల్బ్యాక్ ద్వారా కాల్బ్యాక్ ఫంక్షన్ నడపవచ్చు (myCalculator),మరియు గణన పూర్తి అయిన తర్వాత కాల్బ్యాక్ ఫంక్షన్ నడపడానికి అనుమతిస్తారు:

ప్రతిపాదన

function myDisplayer(some) {
  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());

何时使用回调?

上面的例子并不是很令人兴奋。

它们经过简化了,为的是向您讲解回调的语法。

కాల్బ్యాక్స్ నిజంగా ప్రకాశవంతంగా ఉంటుంది అసింక్రనస్ ఫంక్షన్స్, ఒక ఫంక్షన్ మరొక ఫంక్షన్ నిలకడగా వేయాలి (ఉదాహరణకు ఫైల్ లోడ్ వేయాలి).

తదుపరి చాప్టర్ అనేకానికి అసింక్రనస్ ఫంక్షన్స్ ప్రస్తావించబడుతుంది。