talesluna-zz / rastrojs-api

API de rastreamento de objetos nos Correios - NodeJS
MIT License
44 stars 6 forks source link

Consulta em Loop #6

Closed dairan closed 4 years ago

dairan commented 5 years ago

Quando faço um loop para consultar na API, o primeiro dá certo, mas a partir do seguindo mostra o erro abaixo. Alguém teria alguma dica? Grato.

// exemplo for rastreio in rastreios { //chamada para api passando: rastreio. }

Unhandled rejection Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client at ServerResponse.setHeader (_http_outgoing.js:467:11) at ServerResponse.header (/Volumes/SSD2/ARQUIVOS/dev/nodejs/RastroJS/node_modules/express/lib/response.js:767:10) at ServerResponse.json (/Volumes/SSD2/ARQUIVOS/dev/nodejs/RastroJS/node_modules/express/lib/response.js:264:10) at Object.send (/Volumes/SSD2/ARQUIVOS/dev/nodejs/RastroJS/src/core/Response.js:37:53) at /Volumes/SSD2/ARQUIVOS/dev/nodejs/RastroJS/src/api/tracks/read.js:29:28 at processImmediate (internal/timers.js:439:21) at process.topLevelDomainCallback (domain.js:126:23)

Lucantas commented 5 years ago

Como você está tentando fazer esse loop, e o exemplo que você deu não foi muito claro. Fiz testes de consulta em loop de duas formas e não consegui reproduzir o erro, os testes que fiz:

1 - Criei loop de requisições via javascript para https://rastrojs.herokuapp.com/track/PU473492528BR/json 2 - Rodei a aplicação localmente e repeti o teste 1 mudando apenas o destino

dairan commented 5 years ago

O objeto é pegar todos os códigos do banco e fazer as chamadas. O primeiro funciona, mas no segundo dá erro 503. O código está baixo.

E obrigado pela ajuda!

const axios = require('axios')
const express = require('express')

let app = express()

let codigos = ['PU473492528BR', 'PD325270157BR']

for (i = 0; i < codigos.length; i++) {
    let url = 'https://rastrojs.herokuapp.com/track/' + codigos[i] + '/json'
    axios.get(url)
        .then(function (response) {
            console.log(response)
        })
}
talesluna-zz commented 4 years ago

Problema resolvido na nova versão da com suporte a tracking múltiplo

Veja os exemplos em: http://rastrojs-api.herokuapp.com/