0

Есть две функции (код упрощен):

server.js:

  getData = () => {
    return new Promise((resolve) => {
      setTimeout(() => resolve([1, 2, 3]), 2000);
    });
  }

client.js

  requestData = () => {
    return getData().then((res) => res);
  }

Необходимо, чтобы ф-я requestData возвращала [1, 2, 3], как это сделать? async/await использовать нельзя.

Expected:

console.log(requestData()); //[1, 2, 3]
trek89
  • 5
  • 3
  • Это технически невозможно, использование then/async/await — это единственный возможный способ получить результат асинхронной функции – andreymal Apr 03 '22 at 15:13
  • @andreymal так then использовать можно – trek89 Apr 03 '22 at 15:14
  • Ну значит requestData().then(data => console.log(data)) – andreymal Apr 03 '22 at 15:15
  • console.log(requestData()) - в таком виде - никак – Grundy Apr 03 '22 at 15:15
  • @andreymal а нельзя сделать так, чтобы requestData() можно было использовать без .then? Например, если из getData уже возвращать промис с .then? – trek89 Apr 03 '22 at 15:16
  • @trek89 как мы с Grundy уже написали — это технически невозможно – andreymal Apr 03 '22 at 15:18
  • @andreymal, печально. Но спасибо за ответ!) – trek89 Apr 03 '22 at 15:18
  • @trek89, если сделать без then и async/await - самоцель, то можно прибегнуть к событиям. – T0xee.n17 Apr 04 '22 at 20:01

0 Answers0