为什么第二种就是异步编程,A执行完>B>C>D>E,
我一直认为A>C>E>B>D,混乱的顺序(不按代码的前后顺序)才属于异步。
但第一种,第二种都是A>B>C>D>E依次执行的啊?
//第一种
A();
B();
C();
D();
E();
//第二种
A(function(){
B(function(){
C(function(){
D(function(){
E();
});
});
});
});
为什么你认为第2中一定是异步编程呢
同步编程是指一个代码块中语句顺序执行,每个语句的执行结果在语句执行完毕后是可以马上得到预期的结果
而异步编程是指虽然语句被顺序执行了,但是期望的实际执行结果并不能在当下得到~~~
就你提供的例子
//第一种
A/B/C/D/E函数将按代码的书写顺序顺序执行,但并不是说各个函数的内部代码的执行顺序和调用顺序相同。要具体看各个函数的实现
例如
//第二种
而第2种函数是一个回调函数的方式,各个函数接收一个函数对象作为执行参数供函数执行,看起来像是一个异步调用,但是其执行顺序也要看函数的实现方式,完全可能实现为一个同步调用方式
例如
不能光看调用的形式,要看实际调用代码的实现方式