let clients = ( ) => {
return fetch('http://fjkjdkdjaksdjas.com')
.then(response => {
return response.json()
})
.then(json => {
return json
})
}
let clients = ( ) => {
return fetch('http://fjkjdkdjaksdjas.com')
.then(response => {
return response.json()
})
.then(json => {
return json
})
}
Fala ai Clara, tudo bem? Quando precisamos encadear chamadas de then's
(utilizar o then
duas vezes) é porque estamos encadeando chamadas de Promises
.
Ou seja, no seu código:
let clients = ( ) => {
return fetch('http://fjkjdkdjaksdjas.com')
.then(response => {
return response.json()
})
.then(json => {
return json
})
}
O primero then
:
fetch('http://fjkjdkdjaksdjas.com')
.then(response => {
return response.json()
})
Aqui a função fetch
vai retornar uma Promise
, que será resolvida quando a requisição termina (seja com sucesso ou erro). Uma vez que tudo deu certo e nenhum erro ocorreu, o then
será chamado e a função json
também.
Isso nos leva para o segundo:
.then(response => {
return response.json()
})
.then(json => {
return json
})
Aqui é necessário chamar o then
novamente porque o resultado da função json
também é uma Promise
, sendo assim, estamos passando como retorno do primeiro then
outra Promise
, por isso chamamos o then
novamente.
Com isso estamos encadeando chamadas de Promise's
, ou seja, uma Promise
pode retornar outra Promise
, que pode retornar outra, etc...
Espero ter ajudado.
Aha! json retorna uma promise tb. Muito obrigada! :)
Magina Clara, sempre que precisar não deixe de criar suas dúvidas.
Abraços e bons estudos.