当前位置:网站首页>Callback function ----------- callback
Callback function ----------- callback
2022-07-06 13:51:00 【qq_ fifty-nine million seventy-six thousand seven hundred and s】
One . What is a callback function
according to MDN Description of : The callback function is a function , It will be executed immediately after the execution of another function , A callback function is passed as a parameter to another JavaScript Function of function . This callback function will be executed inside the function passed to .
Two . Why call back
client JavaScrpit Run... In a browser , And the main process of the browser is a single thread time loop . If we try to perform long-running operations in single threaded events , Will stop the process . Technically speaking, this is not good , Because the process stops processing other events while waiting for completion .
for example .alert Statements are treated as browsers JavaScript One of the blocking codes in . If you run alert, Then close alert Before the dialog window , You won't be able to interact in the browser . To prevent blocking long-running operations , We used callback .
3、 ... and . Example
Cool and finish your meal , Can help people bring things , You can also take it without helping others , But rice must be eaten .
Code :
function liliang(task) {
console.log(` Liangliang eats lunch by himself `);
task()
}
liliang(
function () {
console.log(` Help Ranran buy steamed stuffed buns `);
}
)
Pass a function as a parameter , The reason why the parameter is not written dead , You can entrust more people to do .
Four .JavaScript Is the callback asynchronous ?
JavaScript It is considered a single threaded scripting language , Single thread means Javascrpit Execute one code block at a time . When Javascrpit Busy executing a block , It is impossible to move to the next block .
let me put it another way , We can argue that Javascrpit Code is always blocked by nature . But this kind of blocking makes it impossible for us to write code in some cases , Because in these cases, we can't get immediate results when performing certain tasks .
The tasks I'm talking about include the following :
1. adopt API Call to get the data .
2. Get some resources from the remote server by sending a network request .
To deal with these situations , You must write asynchronous code , Callback function is a way to deal with these situations . So essentially , The callback function is asynchronous .
5、 ... and . About the callback to hell
When more than one asynchronous function is executed one by one , Or create callback hell .
adopt async Function to solve the problem of callback hell
async yes ES7 New features , Indicates that the current function is asynchronous , It will not block the thread and cause subsequent code to stop running .
Example :
async function Fn() {
return 'hello world';
}
console.log(Fn());
The result returned :
Conclusion :
async Indicates that there is an asynchronous operation in the function
await Indicates that the following expression needs to wait for the result .
6、 ... and . Benefits of callback functions
1. Send a notice at the right time
2. Make the code more flexible
3. Improve the operation efficiency of
Icon :
边栏推荐
猜你喜欢
hashCode()与equals()之间的关系
附加简化版示例数据库到SqlServer数据库实例中
1. First knowledge of C language (1)
SRC挖掘思路及方法
PriorityQueue (large root heap / small root heap /topk problem)
Record a penetration of the cat shed from outside to inside. Library operation extraction flag
MySQL锁总结(全面简洁 + 图文详解)
7-5 走楼梯升级版(PTA程序设计)
Leetcode. 3. Longest substring without repeated characters - more than 100% solution
Nuxtjs quick start (nuxt2)
随机推荐
7. Relationship between array, pointer and array
2022 Teddy cup data mining challenge question C idea and post game summary
7-15 h0161. 求最大公约数和最小公倍数(PTA程序设计)
这次,彻底搞清楚MySQL索引
渗透测试学习与实战阶段分析
JS several ways to judge whether an object is an array
【九阳神功】2019复旦大学应用统计真题+解析
7-3 构造散列表(PTA程序设计)
[the Nine Yang Manual] 2018 Fudan University Applied Statistics real problem + analysis
【MySQL-表结构与完整性约束的修改(ALTER)】
Have you encountered ABA problems? Let's talk about the following in detail, how to avoid ABA problems
FAQs and answers to the imitation Niuke technology blog project (II)
Caching mechanism of leveldb
仿牛客技术博客项目常见问题及解答(二)
Differences among fianl, finally, and finalize
String ABC = new string ("ABC"), how many objects are created
7-7 7003 组合锁(PTA程序设计)
[the Nine Yang Manual] 2019 Fudan University Applied Statistics real problem + analysis
【九阳神功】2021复旦大学应用统计真题+解析
实验四 数组