promise:
- promise是一个对象,对象和函数的区别就是对象可以保存状态,函数不可以(闭包除外)
- 并未剥夺函数return的能力,因此无需层层传递callback,进行回调获取数据
- 代码风格,容易理解,便于维护
- 多个异步等待合并便于解决
new Promise(resolve => { setTimeout(() => { resolve('hello') }, 2000) }).then(res => { console.log(res) })
promise.all返回值:
Promise.all([this.listFloors(), this.listTotalFireAlarmDevices()]) .then(res => { const [{ floors }, { fire, link }] = res; })
promise.all接收函数组成的数组,等到执行完this.listFloors(), this.listTotalFireAlarmDevices()返回res,res是一个数组,分别对应两个函数返回值