Можно ли получить обещание функции asyn c внутри самой функции? - PullRequest
2 голосов
/ 02 февраля 2020

Скажем, у меня есть

function my_func() {
    var promise = new Promise((resolve)=>{
        resolve(5);
    });
    some_global = promise;
    return promise;
}

Я получаю обещание, возвращаемое my_fun c, а также присваиваю его глобальной переменной. Возможно ли это сделать при использовании синтаксиса asyn c? Сорта, как

async function my_func() {
    some_global = ???
    return 5;
}

Ответы [ 2 ]

1 голос
/ 02 февраля 2020

если вы хотите установить обещание для вашей глобальной переменной и получить ответ на это обещание, когда вы вызываете функцию с шаблоном async / await, я думаю, что это будет выглядеть так

async function my_func() {
  some_global = new Promise((resolve, reject) => {
    resolve(5);
    reject('error');
  })

  return await some_global;
}

async function func_call() {
  console.log(await my_func());
}

func_call()
0 голосов
/ 02 февраля 2020

Самый простой способ, вероятно, следующий:

function my_func() {
  let promise = (async () => {
    return 5;
  });

  some_global = promise;
  return promise;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...