为了账号安全,请及时绑定邮箱和手机立即绑定

js es6 promise 中 resolve 如何传递多个参数?

js es6 promise 中 resolve 如何传递多个参数?

GCT1015 2019-03-05 15:35:00
我期望的效果是//我希望类似与这样使用,但实际上后面两个参数无法获取promise = new Promise((resolve,reject)=>{    let a = 1    let b = 2    let c = 3    resolve(a,b,c) })promise.then((a,b,c)=>{    console.log(a,b,c)})//但实际上这样可以实现promise2 = new Promise((resolve,reject)=>{    let a = 1    let b = 2    let c = 3    resolve([a,b,c]) //中括号意味着支持 a.attr1 这样的形式,{}花括号不支持。})promise2.then(([a,b,c])=>{    console.log(a,b,c)})虽然上面可以模拟多个参数,但是每次在then的时候都需要添加[]感觉别捏,有更简介的方式吗?
查看完整描述

2 回答

?
慕田峪9158850

TA贡献1794条经验 获得超7个赞

resolve() 只能接受并处理一个参数,多余的参数会被忽略掉。 spec上就是这样规定。

用数组wrap一下可以传多个参数,但是resolve出来的结果自然就是个数组了。


查看完整回答
反对 回复 2019-03-07
?
慕姐8265434

TA贡献1813条经验 获得超2个赞

可以换个思路,把a,b,c数据放在一个对象里面


查看完整回答
反对 回复 2019-03-07
  • 2 回答
  • 0 关注
  • 6303 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信