javascript - 在 npm 请求函数之外获取值
问题描述
我正在尝试创建一个在传递 URL 时解析 json 的函数。它会解析它,如果我尝试在请求中记录它,它会起作用,但我无法返回这个值。
function JaySon(){
request({url: url,json: true}, function (error, response, body) {
return body;
})
}
var url ="http://api.geonames.org/findNearbyPlaceNameJSON?lat=51.9877644&lng=-1.47866&username=demo";
var x = JaySon(url);
console.log("json:"+x);
控制台只记录“json:undefined”,据我了解,这是因为 console.log 的运行速度比解析完成的速度快。我该如何解决这个问题?
解决方案
另一个可能的原因也可能是由于您的函数不接受任何参数,因此在调用函数时没有对您传递的 URL 发出请求。
您的代码应该类似于
function JaySon(url){
request({url: url,json: true}, function (error, response, body) {
return body;
})
}
推荐阅读
- delphi - 如何获取 Powerpoint 文件的总持续时间
- java - 如何获取拦截器中操作 url 中定义的参数
- c# - 我收到警告:您正在尝试使用“新”关键字创建 MonoBehaviour
- excel - 从表单返回到模块
- node.js - 使用 HTTP 模块的 AWS Lambda 函数未发出任何请求
- spring - 如何获取 Spring 应用程序中所有属性的映射?
- python - 无法将字符串转换为浮点数(熊猫)
- javascript - How to use innerHTML or innerText to insert into the Evernote editor which is the rich text editor?
- reactjs - Firebase 未使用新数据更新
- python - Referencing column names alongside values in python when generating multiple txt files