Javascript 如何从nodejs调用外部api

Javascript 如何从nodejs调用外部api,javascript,node.js,Javascript,Node.js,大家好,我需要开发一个实用程序,用不同的参数调用外部API,例如,我有一个数组val,它有100个值val=['we23','22ww','gh22'..n]和URL:www.google.com,所以我必须一个接一个地将val中的值附加到URL,第一个API=www.google.com/we23,第二个api=www.google.com/22ww,并进行外部api命中,然后将响应存储在数据库中。那么,最有效的方法是什么呢?链接到工作示例会很有帮助。 您可以根据自己的想法使用构建API 然后

大家好,我需要开发一个实用程序,用不同的参数调用外部API,例如,我有一个数组val,它有100个值val=['we23','22ww','gh22'..n]和URL:www.google.com,所以我必须一个接一个地将val中的值附加到URL,第一个API=www.google.com/we23,第二个api=www.google.com/22ww,并进行外部api命中,然后将响应存储在数据库中。那么,最有效的方法是什么呢?链接到工作示例会很有帮助。

  • 您可以根据自己的想法使用构建API
  • 然后您可以使用
    axios
    package调用api
  • 此外,您还可以使用ExpressJS构建
    链接
    ,以接收请求并发送响应

使用以下代码,您可以使用Node.js+Express在端点内进行并发API调用:

const[
LoMasNuevo、LoMasVisto、TeRecomendamos、Categorias、,
]等待承诺([
numerosController.getLoMasNuevo(),
numerosController.getLoMasVisto(),
numerosController.GetRecommendaciones(),
categoriasController.getCategorias(),

]);一个使用Fetch API的非常简单的示例express应用程序:

const express=require('express'))
const fetch=require('node-fetch')
const app=express()
//这将设置一条到localhost:3000/random的路由,然后发送并点击
//cat-fact.herokuapp.com/facts/random
app.get('/:apiRoute',async(req,res)=>{
试一试{
const{apiRoute}=req.params
const apiResponse=等待获取(
'https://cat-fact.herokuapp.com/facts/“+apiRoute
)
const apiResponseJson=wait apiResponse.json()
//wait db.collection('collection').insertOne(apiResponseJson)
console.log(apiresson)
res.send('完成–检查控制台日志')
}捕捉(错误){
console.log(错误)
res.status(500).send('出现问题')
}
})
app.listen(3000,()=>console.log(`Example app listening on port 3000!`))

访问

嗨,安迪,谢谢你的回复。请确认一件事,上面使用的fetch函数来自node fetch包?此外,当我使用node-fetch包执行上述代码时,我在apiressonode fetch中获得的
Promise{}
将正常工作:)抱歉-我错过了
wait
before
apiresson.json()
。用一个可运行的API编辑了我的答案并进行了测试。很好,很高兴它能运行。如果可能的话,别忘了标记为已解决,这样我就得到了那个漂亮的绿色记号;)