Как разрешить обещание с двумя значениями? - PullRequest
0 голосов
/ 31 августа 2018

Рассмотрим следующий код:

new Promise(function (res, rej) {
    res('a','b')
}).then(function (a, b) {
    console.log(a,b)
})

выводит

a undefined

Как я могу решить вернуть два значения из Обещания?

Ответы [ 3 ]

0 голосов
/ 31 августа 2018

Вернуть их в массив.

new Promise((res, rej) => {
  res(["a", "b"]);
}).then(([a, b]) => {
  console.log(a, b);
});
0 голосов
/ 31 августа 2018
new Promise(function (res, rej) {
    res(['a','b'])
}).then(function (resContent) {
    console.log(...resContent)
})

выводит

a b
0 голосов
/ 31 августа 2018

Вы не можете, обещание выполняется или отклоняется только с одним значением.

Однако легко поместить два значения в структуру, такую ​​как массив:

new Promise(function(resolve) {
    resolve(['a','b'])
}).then(function([a, b]) { // array destructuring
    console.log(a, b)
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...