我有一个使用
调用的函数 fetch(http://localhost:8888/.netlify/functions/token-hider?
stateName=' +stateName)
在我的客户端。
token-hider函数如下所示:
const qs = require("qs");
const fetch = require("node-fetch");
var alertEndpoint = "";
var parkEndpoint = "";
var parksWithAlerts = "";
exports.handler = async function getURLS(event, context, callback)
{
// Get env var values defined in our Netlify site UI
const {api_key, alert_api_url, park_api_url} = process.env;
var stateName =event.queryStringParameters.stateName;
alertEndpoint = `${alert_api_url}${stateName}${api_key}`;
parkEndpoint = `${park_api_url}${stateName}${api_key}`;
getData();
async function getData(alertsArea, alertHeader) {
const [getAlertData, getParkData] = await
Promise.all([fetch(alertEndpoint), fetch(parkEndpoint)] );
var alertResults = await getAlertData.json();
var parkResults= await getParkData.json();
var alertData = alertResults.data;
var parkData = parkResults.data;
parksWithAlerts = parkData.map(park => {
park.alertData = alertData.filter(alert => alert.parkCode ===
park.parkCode);
return park
});
console.log(parksWithAlerts);
}
console.log(callback);
};
此功能完成后,如何将parksWithAlerts的内容返回给客户端?
答案 0 :(得分:1)
尝试更多地了解Javascript中的回调功能。
就在您的代码中,实际上,假设您正在执行代码后将调用您正在打印的callback
,您可以像这样callback(parksWithAlerts);
进行操作。
在调用函数getURLS
时,您将提供应该通过args调用的函数。
答案 1 :(得分:0)
这里是一个错误处理并返回JSON响应类型的示例
res.send(results);
token-hider
注意: :如果要隐藏令牌,请确保不要从Netlify上的公共存储库中部署它。
此外,此代码尚未经过100%的测试,因此可能需要解决一些问题。我在Netlify的一些lambda函数中使用了响应布局和结构。