前言:
对于JS的异步处理机制,我个人在之前是没得多少想法的。总感觉这玩意很飘忽,不是说好的从上到下依次执行吗?为啥有时候总是不按顺序出牌。直到前不久做了一个关于数据请求的项目,才对这个概念有了一定的了解。
假如我们站在一个上帝视角去思考这个问题,就会发现:嗯,异步处理机制的存在确实有它的意义,它最直观的作用就是保障我们肉眼可见的界面正常加载样式,数据。
最常见的异步处理主要是“延时函数”以及“后台数据请求(AJAX)”,其实关于异步处理机制不止这两个,只是这两个使我们今天的诉说对象。
(简书.YZJGOOD原创文章,转载请注明出处)
正文:
延时函数:
//by yzjgood
console.log('1')
setTimeout(function(){ console.log('2'); }, 3000);
console.log('3')
以上一共3段代码,它应该是从上往下依次执行
1 step:控制台输出“1”
2 step:程序要运行第二行时,它发现setTimeout这个异步函数,走不通了;得暂存一会,于是转向执行第三行,控制台输出“3”
3、运行完后面的代码时候再回到暂存查看有没有需要执行的
AJAX:
AJAX默认就是为异步,这里jsonString为从后台获取到的数据,可以这样理解,由于js不知道它将要从后台获取的数据多少,有多大;为了保证浏览器正常加载其它东西,所以AJAX默认为异步。
//by yzjgood
var bj="1"
runClassMethod("web.queryyzj4","GetlobalLoglast",{"bj":bj},function(jsonString){
console.log(jsonString);
var jsonarr=JSON.parse(jsonString);
console.log(jsonarr);
},'',false)
好的,这次的分享就到这里,谢谢!
(简书.YZJGOOD原创文章,转载请注明出处)