Last active
January 20, 2019 00:35
-
-
Save parzibyte/a24f93f4381f98883711683b1c4986b6 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* Consumir API de respuestas inmediatas (instant answers) | |
* de DuckDuckGo en español con Node.js y request, | |
* usando JSON para el intercambio de datos | |
* | |
* @author parzibyte | |
*/ | |
const request = require("request-promise"), | |
RUTA = "https://api.duckduckgo.com"; | |
/** | |
* Una función que devuelve una promesa, al resolverse | |
* se tendrá la respuesta que dio DuckDuckGo. | |
* | |
* @param {string} busqueda La definición, pregunta o búsqueda | |
*/ | |
const respuestaInmediata = busqueda => request({ | |
uri: `${RUTA}/?q=${encodeURIComponent(busqueda)}&format=json`, | |
headers: { | |
'Accept-Language': 'es_LA', // Para consumirla en español | |
}, | |
json: true, // Para que lo decodifique automáticamente | |
}); | |
respuestaInmediata("JavaScript") | |
.then(datosRespuesta => { | |
let definicion = datosRespuesta.Definition, | |
resumen = datosRespuesta.AbstractText, | |
respuesta = datosRespuesta.Answer, | |
url = datosRespuesta.AbstractURL, | |
imagen = datosRespuesta.Image, | |
relacionados = datosRespuesta.RelatedTopics.map(relacionado => relacionado.Text); | |
console.log({ definicion, resumen, respuesta, url, imagen, relacionados }); | |
}); | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment