关于complete的问题
不管是执行openDoor()还是shutDoor(),里面函数doorAction中的count刚开始都是2,感觉complete中的if语句始终都不会执行,但是这里只有返回了defer.resolve()后面才能继续执行then的异步操作,不是很明白为什么这里的if语句会执行。。希望老师解答一下。。
不管是执行openDoor()还是shutDoor(),里面函数doorAction中的count刚开始都是2,感觉complete中的if语句始终都不会执行,但是这里只有返回了defer.resolve()后面才能继续执行then的异步操作,不是很明白为什么这里的if语句会执行。。希望老师解答一下。。
2015-09-12
if里的会执行。是因为左门和右门各调用了一次。左门调用后count变为了1.右门执行时可以进入if。释放defer.
你可以换成下面看下流程就知道了。
var complete = function(tt) {
console.log(count);
console.log(tt);
if (count == 1) {
defer.resolve();
return;
}
count--;
};
doorLeft.transition({
'left': left
}, time, complete("左门"));
doorRight.transition({
'left': right
}, time, complete("右门"));
举报