Junior
O que aceita o método fetch?
sobes.tech IA
Resposta da IA
O método fetch aceita um argumento obrigatório — o caminho para a solicitação (RequestInfo ou URL) — e um argumento opcional — um objeto de configurações (RequestInit).
Argumento obrigatório (input) :
- String: URL do recurso.
- Objeto
Request: Instância da classeRequest, que fornece uma configuração mais flexível para a solicitação (cabeçalhos, método, etc.).
Argumento opcional (init) : Um objeto com campos que descrevem a configuração da solicitação. Alguns campos frequentemente usados:
method: Método HTTP da solicitação (GET,POST,PUT,DELETE,OPTIONS, etc.).headers: Cabeçalhos da solicitação. Pode ser um objeto chave-valor ou uma instância da classeHeaders.body: Corpo da solicitação (para métodos diferentes deGETouHEAD). Pode ser uma string,ArrayBuffer,TypedArray,DataView,Blob,FormData,URLSearchParamsouReadableStream.mode: Modo da solicitação (cors,no-cors,same-origin,navigate).credentials: Configuração para enviar credenciais (omit,same-origin,include).cache: Configuração de cache (default,no-store,reload,no-cache,force-cache,only-if-cached).redirect: Como lidar com redirecionamentos (follow,error,manual).referrer: Valor para o cabeçalhoReferer.referrerPolicy: Política para enviar o cabeçalhoReferer.integrity: Valor para o cabeçalhoIntegrity. Usado para a integridade de recursos subjacentes.keepalive: Valor booleano indicando que a solicitação deve permanecer ativa após a página ser fechada (para enviar análises ou relatórios).signal: Instância deAbortSignalpara cancelar a solicitação.window: Objeto Window associado à solicitação (por padrão, a janela atual).
Exemplo de uso:
// Solicitação GET
fetch('/api/users')
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Erro:', error));
// Solicitação POST com corpo e cabeçalhos
fetch('/api/products', {
method: 'POST', // Método HTTP
headers: {
'Content-Type': 'application/json', // Tipo de dados enviados
'Authorization': 'Bearer your_token' // Exemplo de cabeçalho de autorização
},
body: JSON.stringify({ name: 'Novo produto', price: 100 }) // Corpo da solicitação
})
.then(response => {
if (!response.ok) {
throw new Error(`Erro HTTP! status: ${response.status}`);
}
return response.json();
})
.then(data => console.log('Sucesso:', data))
.catch(error => console.error('Erro:', error));