Вы можете вернуть результат запроса на получение, расширив способ использования обещаний в myfunc()
.
Обычный подход - вернуть обещание, созданное fetch()
, из myfunc()
. Таким образом, когда вы вызываете myfunc()
, вы можете добавить обработчик функции к .then()
, который будет выполнен (с результатом выборки) после того, как ваш запрос завершится:
function myfunc(){
// Add return here to return the fetch's promise
return fetch(URL).then(function(response) {
return response.json();
}).then(function(hitsJSON) {
var results = []
hitsJSON.hits.forEach(item => {
let resultItem = {
id: item.id,
url: item.previewURL,
tags: item.tags
}
results.push(resultItem);
});
// Return result here when request is complete
return {
query: 'query',
images: results
};
});
}
// Use myfunc() like this:
myfunc().then( function( results ) {
console.log(results)
})