0

Есть функция:

function funcName() {
  if (bool) {
    return 1
  } else {
    api.execute("api.name", { user: id }, (result) => {
      result.answer 
    })
  }
}

Как сделать чтобы функция возвращала result.answer полученный в промисе, либо присваивала это значение какой-то переменной вне. Если попробовать присвоить значение переменной - получим undefined. Как переписать этот пример, чтобы небыло конфликтов синхронности/асинхронности Заранее спасибо!

Danil
  • 52

1 Answers1

1
async function funcName() {
  if (bool) {
    return 1
  } else {
    const result = await api.execute("api.name", { user: id });
    return result;
  }
}
Doigrales
  • 1,091
  • возвращает [object Promise] – Danil Mar 12 '19 at 09:09
  • 2
    @Danil да, так и должно быть, всё правильно. Добро пожаловать в асинхронный javascript, учитесь работать с промисами – andreymal Mar 12 '19 at 09:17
  • 1
    @Danil, далее используете промис funcName().then(res => {}) или так же как в ответе. – Doigrales Mar 12 '19 at 09:21