Как вернуть результат fetch после запроса к API?
`fetch(URL)` возвращает обещание(Promise), а вы сразу возвращаете результат. Колбэк функция передаваемая в метод then будет вызвана позже, когда закончится процесс `fetch`.
Функция `myfunc` должна тоже возвращать Promise вот так:function myfunc() {
  results = [];
  return fetch(URL)
    .then((response) => response.json())
    .then((hitsJSON) => {
      return hitsJSON.hits.map(item => {
        return {
              id: item.id,
              url: item.previewURL,
              tags: item.tags
          };
      }));
  });
 }

// и использование 
myfunc()
  .then((results) => {
    // do something
  })
Используйте Promise