js es6 promise 中 resolve 如何传递多个参数?
我期望的效果是
//我希望类似与这样使用,但实际上后面两个参数无法获取
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的时候都需要添加[]感觉别捏,有更简介的方式吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
发布评论
评论(4)
~没有更多了~
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
resolve() 只能接受并处理一个参数,多余的参数会被忽略掉。 spec上就是这样规定。
用数组wrap一下可以传多个参数,但是resolve出来的结果自然就是个数组了。