Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

257
Visualizações
¿Cómo realizar una solicitud en bucle, extrayendo todos los datos de la API de fuente de datos usando token/versión con JavaScript?

Estoy usando JavaScript para solicitar datos de geotab api. Estoy buscando descubrir cómo usar un token, o una versión en geotab, para extraer todos los datos más allá del límite. El problema que tengo es cómo hacer un bucle en la solicitud de alimentación para extraer todos los datos.

Intenté crear un bucle con la lógica de Python, pensando que podía hacer un bucle de las solicitudes hasta que el token actual fuera igual al siguiente token (esto debería significar que llegó al final de las solicitudes). Sin embargo, descubrí que las variables no funcionan en JavaScript como en Python:

 while version != nextversion: execute data feed request

Este es el código de ejemplo proporcionado por Geotab. El ejemplo llama al feed de datos para los datos de viajes en un rango de fechas y lo limita a 10 registros cada llamada. Solo devolverá la primera y la segunda llamada. ¿Cuál sería la mejor manera de repetir ese feed hasta que obtenga todos los datos en toDate?

 const GeotabApi = require('mg-api-js'); const fs = require('fs'); /*Authenticate*/ const authentication = { credentials: { database: 'database', userName: 'username', password: 'hunter2' }, path: 'http://server.com/' } const api = new GeotabApi(authentication); api.authenticate( success => { console.log('Successful authentication'); }, (error) => { console.log('Something went wrong'); }); /* The following JavaScript example shows how to call GetFeed and return a list of Trips. Note that it returns only the first 10 trips and after that another 10. */ var feed = (function(){ var version = "0000000000000000"; return { next: function(success){ api.call("GetFeed", { "typeName":"Trip", "resultsLimit": 10, "fromVersion": version, "search": { toDate: (new Date()).toISOString(), fromDate: (new Date((new Date()).getTime() - (7 * 24 * 60 * 60 * 1000))).toISOString() } }, function(result){ version = result.toVersion; success(result.data); }); }, reset: function(){ version = "0000000000000000"; } }; })(); feed.next(function(trips){ console.log("First part: ", trips); feed.next(function(trips){ console.log("Second part: ", trips); }); });
about 4 years ago · Juan Pablo Isaza
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda