Teste os modelos do Gemini 1.5, os modelos multimodais mais recentes na Vertex AI, e veja o que é possível criar com uma janela de contexto de até 2 milhões de tokens.
Teste os modelos do Gemini 1.5, os modelos multimodais mais recentes na Vertex AI, e veja o que é possível criar com uma janela de contexto de até 2 milhões 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 new Promise((resolve, reject) => {
http.get(url, (res) => {
let data = '';
res.on('data', (chunk) => {
data += chunk;
});
res.on('end', () => {
resolve(data);
});
}).on('error', reject);
});
return response;
} catch (error) {
throw error; // Re-throw the error to be handled by the caller
}
}
Explicação:
Função async: definimos a função fetchData como async, o que permite usar await nela.
Bloqueio try...catch: agrupamos a operação assíncrona em um bloco try...catch para lidar com possíveis erros.
Promise e await:
Criamos uma Promise que é resolvida com os dados quando a resposta é totalmente recebida.
Usamos await para pausar a execução da função até que Promise seja resolvido.
Tratamento de erros:
Se ocorrer um erro durante a solicitação http.get, a função reject do Promise vai ser chamada, fazendo com que o bloco catch seja executado.
Geramos o erro novamente usando throw error para promovê-lo para o autor da chamada.
Valor de retorno: a função fetchData vai retornar os dados buscados se for bem-sucedida.