考虑以下代码:
new Promise(function (res, rej) {
res('a','b')
}).then(function (a, b) {
console.log(a,b)
})
它输出
a undefined
我该如何解析从Promise中返回两个值?
答案 0 :(得分:5)
您不能,一个承诺只能以一个值来实现或拒绝。
然而,将两个值放入结构(例如数组)中并不容易:
new Promise(function(resolve) {
resolve(['a','b'])
}).then(function([a, b]) { // array destructuring
console.log(a, b)
})
答案 1 :(得分:5)
以数组形式返回它们。
new Promise((res, rej) => {
res(["a", "b"]);
}).then(([a, b]) => {
console.log(a, b);
});
答案 2 :(得分:0)
new Promise(function (res, rej) {
res(['a','b'])
}).then(function (resContent) {
console.log(...resContent)
})
它输出
a b