第一章 异步
我们经常遇到程序中将来执行的部分并不一定在现在运行的部分执行完之后就立即执行。也即是说现在无法完成的任务将会异步完成。
//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 响应等)时执行,你就是在代码中创建了一个将来执行的块,也由此在这个程序中引入了异步机制。
原文链接:https://www.f2er.com/js/419895.html