JavaScript中的每个异步函数都构建在其他某个或某些异步函数之上。凡是异步函数,从上到下(一直到原生代码)都是异步的! 反之亦然:任何函数只要使用了异步的函数,就必须以异步的方式给出其操作结果。正如我们在1.1.2节学到的,JavaScript并没有提供一种机制以阻止函数在其异步操作结束之前返回。事实上,除非函数返回,否则不会触发任何异步事件。 本节将考察异步函数设计的一些常见模式。我们将看到有些函数如反复无常的小人,非得等到特定时候才下决心成为异步的。不过,我们先来精确地定义异步函数。