Teste os modelos do Gemini 1.5, nossos mais novos modelos multimodais na Vertex AI, e descubra o que é possível criar com uma janela de contexto de 1 milhão de tokens.Teste os modelos do Gemini 1.5, nossos mais novos modelos multimodais na Vertex AI, e descubra o que é possível criar com uma janela de contexto de 1 milhão de tokens.
Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
As chamadas de retorno foram substituídas por async/await para melhorar a legibilidade e o tratamento de erros em JavaScript.
É possível consultar um modelo diretamente e testar os resultados retornados ao usar
diferentes valores de parâmetros com o console do Cloud ou ao chamar a
API Vertex AI diretamente.
Refatore este código JavaScript para usar async/await em vez de callbacks para lidar com operações assíncronas. O objetivo é melhorar a legibilidade do código e o tratamento de erros.
function fetchData(url, callback) {
http.get(url, function(response) {
let data = '';
response.on('data', (chunk) => {
data += chunk;
});
response.on('end', () => {
callback(null, data);
});
}).on('error', (err) => {
callback(err);
});
}
Resposta
async function fetchData(url) {
try {
const response = await http.get(url);
let data = '';
response.on('data', (chunk) => {
data += chunk;
});
await new Promise((resolve) => response.on('end', resolve));
return data;
} catch (err) {
throw err;
}
}
Explicação:
Async/Await: a função é declarada com a palavra-chave async, permitindo o uso de await no corpo.
Tratamento de erros: um bloco try...catch é usado para lidar com possíveis erros durante as operações assíncronas.
HTTP Get baseado em promessas: o método http.get retorna uma promessa, que é aguardada usando await. Isso garante que a execução subsequente do código aguarde a resposta antes de prosseguir.
Acúmulo de dados: a variável data acumula blocos de dados recebidos do fluxo de resposta.
Evento final: criamos uma nova promessa que é resolvida quando o evento "end" é emitido pelo fluxo de resposta. Isso garante que esperamos que todos os dados sejam recebidos antes de retornarem.
Dados de retorno: se for bem-sucedido, os dados acumulados serão retornados.
Geração de erros: se ocorrer um erro, ele será gerado e poderá ser capturado pelo autor da chamada da função fetchData.