同步:同步比较好理解,就是指按照代码编译的顺序一步一步走下来就是同步。
比如
onLoad(options) {
/* this:当前页面的实例化对象 */
console.log(this.data);
this.setData({
msg:"修改之后的属性",
msg1:"修改之后的属性"
});
console.log(this.data);
},
这个属于同步,在setData之前data为msg:”测试对象”。在setData之后为修改之后的属性。
按照代码运行过程,从上到下逐步运行。
异步:当我们需要一些代码在执行的时候不会影响其他代码的执行,也就是在执行代码的同时,可以进行其他的代码的执行,不用等待代码执行完成之后才执行之后的代码,就像我们人一样,可以一边看电视剧一边吃东西一样,互不干扰,这种方式就是异步。
有一个异步情况很经典。
就是下面这个例子,方法绑定和触发,当触发方法的时候,每个组件上都绑上了方法,所以此时的i时listNode的长度,所以要进行索引转绑操作。此处的异步是:方法触发的异步。
for(var i=0;i<listNodes.length;i++)
{
/* 索引转绑很重要 */
listNodes[i].index = i;
listNodes[i].onclick=function(){
preindex=now;
move(this.index);
now = this.index;
for(var i=0;i<bCicleli.length;i++){
bCicleli[i].classList.remove("active");
}
bCicleli[this.index].classList.add("active");
}
}