Показать сообщение отдельно
  #1 (permalink)  
Старый 16.05.2021, 18:50
Аватар для nastya97core
Аспирант
Отправить личное сообщение для nastya97core Посмотреть профиль Найти все сообщения от nastya97core
 
Регистрация: 04.04.2020
Сообщений: 60

Как в return получить несколько значений?
дравствуйте. Есть две функции. Одна делает запрос на сервер и возвращает json, а вторая как раз вызывает первую функцию с нужными аргументами. Результат первой (~ajax) функции я хочу обрабатывать во второй, поэтому первая функция должна возвращать просто ответ сервера. Но почему-то в 1-ой функции всё нормально отображается, но когда я делаю return, то вторая функция распознать ничего не может.
// первая (~ajax)
function toCart(e) {
  var req = new XMLHttpRequest();
  ....
  req.onload = function() {
      let res = this.response;
      console.log(res); // {result: ok, count: 3}, а console.log(res.result) вернёт ok
      return res; // {res.result,res.count} - тоже не работает
  }
}
// вторая
function btnClick(e) {
...
  let res = toCart([name, size]);
  console.log(res); // undefined
}


Если же я сделаю в первой функции return res.result, то во второй я его получу (ok), но мне же нужно оба условия.

Что я делаю не так?
Ответить с цитированием