function greet(name, callback) {
console.log("Hello, " + name + "!");
callback();
}
// This is the callback function
function sayGoodbye() {
console.log("Goodbye!");
}
greet("Alice", sayGoodbye);
Note:The setTimeout function in JS does not return a value from the function that it delays. Instead it returns a unique identifier.
function Sum(num1,num2,callback){
setTimeout(()=>{
let result=num1+num2;
callback(result);
},2000);
}
Sum(4,5,function(result){
console.log(result);
});
function Task1(callback){
setTimeout(()=>{
console.log("completed task 1");
callback();
},2000)
}
function Task2(callback){
setTimeout(()=>{
console.log("completed task 2");
callback();
},1500);
}
function Task3(callback){
setTimeout(()=>{
console.log("completed task 3");
callback();
},3000);
}
function Task4(callback){
setTimeout(()=>{
console.log("completed task 4");
callback();
},2500);
}
//Here output is Asynchronus. without callback.
/*
Task1();
Task2();
Task3();
Task4();
*/
Task1(()=>{
Task2(()=>{
Task3(()=>{
Task4(()=>{
console.log("All task is completed");
});
});
});
});
function formValidation(data,callback){
let isvalid=callback(data);
if(isvalid){
console.log("Form is Valid");
}
else{
console.log("Form is Invalid");
}
}
formValidation({age:24},function(data){
return data.age>=18;
});
formValidation("shanto@gmail.com",function(email){
return email.includes("@");
});
function fetchDataFromDatabase(query, callback) {
// Simulate a database call
setTimeout(() => {
let data = { id: 1, name: 'Shanto Doe' }; // Example data
callback(data);
}, 1000);
}
// Custom callback to handle the data
fetchDataFromDatabase('SELECT * FROM users', function(data) {
console.log('User name:', data.name);
});
fetchDataFromDatabase('SELECT * FROM users', function(data) {
console.log('User ID:', data.id);
});