Gadz
@Gadz

Javascript примисы как работать с ними в контексте функции?

Обьясните как быть в таком случае, есть функция, которая принимает config и возвращает config, внутри нее можно config модифицировать. Как в данном случаем работать с промисами, пример:
var config = {
  foo: 123,
};

var test = function (config) {

  // Как в этом месте использовать промис, который бы модифицировал config,
  // и сама функция test вернула бы это конфиг?
  // Например добавить bar: 456

  return config;

};

console.log(config); // foo = 123, bar = 456
  • Вопрос задан
  • 115 просмотров
Решения вопроса 1
rockon404
@rockon404
Frontend Developer
const test = config => someAsyncCall().then(bar => ({ ...config, bar }));
const config = { foo: 123 };

test(config).then(console.log); // { foo: 123, bar: 456 };


Так же, можно использовать async/await:
const test = async function(config) {
  const bar = await someAsyncCall();  // returns 456

  return { ...config, bar };
}

(async () => {
  const config = { foo: 123 };
  const newConfig = await test(config);
  
  console.log(newConfig); // { foo: 123, bar: 456 };
})();
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы