如何在JavaScript中隐藏Fetch返回的JSON响应详情,仅展示指定内容?
修改函数返回格式为「卡号 - LIVE」样式
核心修改思路
- 保留原有的BIN验证逻辑(缓存查询、API请求),移除所有解析卡片详细信息的冗余代码
- 仅在API请求失败时返回
DESCONOCIDO,其余情况根据isLive参数直接构造目标返回字符串 - 可选择保留缓存逻辑(若后续需复用原始卡片数据),也可完全移除以简化代码
修改后的完整代码(保留缓存)
const getCardInfo = async (cardNumber, isLive = false) => { const binCode = cardNumber.substring(0, 6); const cachedData = sessionStorage.getItem(`bin_${binCode}`); if (cachedData) { return isLive ? `${cardNumber} - LIVE` : cardNumber; } else { const response = await fetch(`https://apilink.com/api/${binCode}`); const jsonParsedData = await response.json(); if (!jsonParsedData.result) { return "DESCONOCIDO"; } // 保留缓存逻辑(无需可直接删除) if (!sessionStorage.getItem(`bin_${binCode}`)) { sessionStorage.setItem(`bin_${binCode}`, JSON.stringify(jsonParsedData.data)); } return isLive ? `${cardNumber} - LIVE` : cardNumber; } };
简化版代码(移除缓存)
如果不需要存储卡片原始数据,可删除所有缓存相关代码,进一步精简函数:
const getCardInfo = async (cardNumber, isLive = false) => { const binCode = cardNumber.substring(0, 6); try { const response = await fetch(`https://apilink.com/api/${binCode}`); const jsonParsedData = await response.json(); if (!jsonParsedData.result) { return "DESCONOCIDO"; } } catch (error) { // 捕获网络请求失败等异常 return "DESCONOCIDO"; } return isLive ? `${cardNumber} - LIVE` : cardNumber; };
说明
修改后,函数仅在BIN验证通过时返回你需要的卡号 - LIVE(当isLive为true)或纯卡号格式,验证失败/请求出错时返回DESCONOCIDO,完全匹配需求。
内容的提问来源于stack exchange,提问作者SadDeepLoper
相关产品推荐
相关产品推荐

