原文:Callbacks are imperative, promises are functional: Node's biggest missed opportunity promises 天生就不会受不断变化的情况影响. -- Frank Underwood, 'House of Cards' 人们常说Javascript是'函数式'编程语言.而这仅仅因为函数是它的一等值,可函数式编程的很多其他特性,包括不可变数据,递归比循环更招人待见,代数类型系统,规避副作用等,它都不俱备.尽管把函数作…