Как вернуть реально работающий объект - PullRequest
0 голосов
/ 04 июня 2018

Я пытаюсь создать доступный объект, который возвращает значение, но не работает:

const fetchItem = () => 'item';
function test() {
  return {
    async then() {
      const item = await fetchItem()
      return item
    }
  }
}

test()
  .then(console.log)

Затем вызывается функция then, но console.log это не так.Есть идеи почему?

1 Ответ

0 голосов
/ 04 июня 2018

.then должна быть функцией, которая принимает обратный вызов в качестве параметра - ваше определение then не имеет его.

function test() {
  return {
    async then(callback) {
      const item = await '3';
      return callback(item);
    }
  }
}
test()
  .then(console.log)
  .then(() => console.log('done'));
...