繁体   English   中英

获取在 API 调用中声明的变量(函数中 function 中的 for 循环)或在 JavaScript 中将其声明为全局变量

[英]Getting a variable declared within an API call (for loop within a function within a function) or declaring it as global in JavaScript

我已经查看并看到了不同的迭代,但没有任何效果。 在这种情况下,我想要的变量在 function 内的 function 内的 for 循环中。 我试过先声明变量,然后在 function 中定义它们。 我已经尝试在它们内部调用函数以尝试在函数之外检索它,等等。

期望的结果:我只想在 function 中创建的 function 之外调用变量“FIRM”(这样我就可以将变量设为全局变量)。 或者我只是希望将变量 FIRM 创建为全局变量本身。

这非常令人困惑,因为当我也在自身之外尝试 GetData() 以获取变量时,无法识别 function。

JS:

var FIRM;

function GetData() {
fetch('https://hazards.fema.gov/gis/nfhl/rest/services/FIRMette/NFHLREST_FIRMette/MapServer/1/query?where=&text=&objectIds=&time=&geometry=-96.6666%2C32.333&geometryType=esriGeometryPoint&inSR=4326&spatialRel=esriSpatialRelWithin&distance=&units=esriSRUnit_Foot&relationParam=&outFields=FIRM_PAN%2C+EFF_DATE&returnGeometry=false&returnTrueCurves=false&maxAllowableOffset=&geometryPrecision=&outSR=&havingClause=&returnIdsOnly=false&returnCountOnly=false&orderByFields=&groupByFieldsForStatistics=&outStatistics=&returnZ=false&returnM=false&gdbVersion=&historicMoment=&returnDistinctValues=false&resultOffset=&resultRecordCount=&returnExtentOnly=false&datumTransformation=&parameterValues=&rangeValues=&quantizationParameters=&featureEncoding=esriDefault&f=pjson')
            .then(function (response) {
                return response.json();
            })
            .then (function (data) {
                appendData(data);
            })

            .catch(function (err) {
                console.log('error: ' + err);
            });


function appendData(data) {
            
               for (let obj of data['features']) {
                 let FIRM = obj['attributes']['FIRM_PAN'];
                 let FIRM_USTdate = obj['attributes']['EFF_DATE']
                 console.log(FIRM);
                 let FIRMdate = new Date(FIRM_USTdate);
                 console.log(FIRMdate.toLocaleDateString());
                  }
              }
    };

console.log(FIRM);

HTML:


<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>JSON Test</title>
</head>
<body>
  
  <button id="SearchButton" onclick="GetData()">Click Me</button>
  
  <div id="myData"></div>
    
</body>
</html>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM