Olá Felipe, tudo bem?
Você poderia explicar um pouco melhor o que você pretende fazer? Se pedirmos um console.log
no último then
não iremos conseguir processar o retorno pois teremos undefined
( retorno do console.log
)
No caso para tratar fora do html
teríamos algo da seguinte maneira:
function ListaLivrosJavaScript (){
return fetch ("https://www.googleapis.com/books/v1/volumes?q=javascript")
.then (data => data.json())
.then (data => data.items.map (item => item))
.then (data => data.map (item => item.volumeInfo))
.then (data => data.map(item => item.title))
};
E no mesmo arquivo, ou em outro, teríamos o seguinte trecho:
listaLivrosJavacript().then( retorno => console.log(retorno))
E aqui sim ao invés do console.log
podemos tratar os dados corretamente :)
Utilizando o async & await
podemos encapsular esse útlimo código, por exemplo:
async function main() {
const retorno = await ListaLivrosJavascript();
console.log(retorno);
}
Então quando queremos usar fora do html
temos essas duas abordagens, pois o retorno da nossa função continua sendo uma promise
::)
Agora caso não foi isso que você quis dizer, poderia dar um outro exemplo ?
Abraços e Bons Estudos!