@Galdar
Web, JS, PHP, NGINX, Linux

Как вынесли переменную?

var n;
                   name.names('text', { data }).then(function(data){
                      // Как вынесли значение (data) в переменную ( n ) если "return" не работает ?
                  });
  • Вопрос задан
  • 122 просмотра
Решения вопроса 1
lastuniverse
@lastuniverse
Всегда вокруг да около IT тем
Никак не вынесите, но это и не нужно. Вот мой ответ (немного сумбурный) на по сути такой же вопрос. Посмотрите его.
Как запомнить текст, который выполняется в функции?

Вот вариант, позволяющий писать код как если бы он был синхронным.
// так как name.names(...) асинхронный, то для того, чтобы получить 
// результат запроса в "синхронном стиле" используем await

// await можно использовать только внутри асинхронной функции.
// для этой цели обернем блок с вызовами name.names(...) в
// само вызывающуюся асинхронную функцию
(async () => {

   var n = await name.names('text', { data });
   console.log(n);

})()
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@AliceSmith
const foo = () => new Promise((res) => setTimeout(() => {
  console.log('async')
  res('data')
}, 2000))


let n;

(async () => {
  n = await foo()
  console.log(n)
  // ...
})()
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы