微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

《你不知道的JavaScript中卷》之异步与性能学习笔记

第一章 异步

我们经常遇到程序中将来执行的部分并不一定在现在运行的部分执行完之后就立即执行。也即是说现在无法完成的任务将会异步完成。

//ajax是某个库提供的ajax函数
var data = ajax('http://some.url.1');
consoele.log(data);
//通常data不会包含Ajax结果

因为标准 Ajax 请求不是同步完成的,这意味着 ajax(..) 函数还没有返回任何值可以赋给变量 data。如果 ajax(..) 能够阻塞到响应返回,那么 data = .. 赋值就会正确工作。
从现在到将来的“等待”,最简单的方式是使用一个通常称为回调函数函数

ajax('http://some.url.1',function myCallbackFunction(data){
    console.log(data);
});

任何时候,只要把一段代码包装成一个函数,并指定它在响应某个事件(定时器、鼠标点击、Ajax 响应等)时执行,你就是在代码中创建了一个将来执行的块,也由此在这个程序中引入了异步机制。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐