node.js - 如何使 API 响应成为全局变量,以便在后续 API 请求中再次使用
问题描述
这是代码
request.post({
headers: {"content-type": "application/x-www-form-urlencoded"},
url: "https://testardor.jelurida.com/nxt?",
form:
{requestType: "sendMoney"}
},
function (error, response, body) {
if (!error && response.statusCode == 200){
var transactionBytes = JSON.parse(response.body).transactionBytes;
}
},
);
在此之后,我想获取 transactionBytes 并将其传递给另一个 API 请求。如何使其成为全局变量?我尝试了 global.transactionBytes 和 window.transactionBytes 并没有奏效。我也读过声明这样的全局变量是不好的,有没有更好的方法来做到这一点?
解决方案
如果它只是一个文件,您可以声明全局变量,只在函数的外部声明。
var globalvariable = 0;
function ApiCall() {
request.post({
headers: {"content-type": "application/x-www-form-urlencoded"},
url: "https://testardor.jelurida.com/nxt?",
form:
{requestType: "sendMoney"}
},
function (error, response, body) {
if (!error && response.statusCode == 200){
var transactionBytes = JSON.parse(response.body).transactionBytes;
}
},
);
}
如果你想在多个文件中使用相同的全局变量,你可以创建一个帮助文件示例
帮助.js
var globalVariable = 0;
module.exports = globalVariable
第一个文件.js
var globalVariable = require('./help');
function ApiCall() {
request.post({
headers: {"content-type": "application/x-www-form-urlencoded"},
url: "https://testardor.jelurida.com/nxt?",
form:
{requestType: "sendMoney"}
},
function (error, response, body) {
if (!error && response.statusCode == 200){
var transactionBytes = JSON.parse(response.body).transactionBytes;
globalVariable = transactionBytes;
}
},
);
}
另一个文件.js
var globalVariable = require('./help');
function someotherthing() {
console.log(globalVariable)
}
除非真的需要,否则使用全局变量是不好的,其他方法就是将值传递给下一个函数。全局变量如果使用不当会导致内存泄漏
推荐阅读
- stm32 - LTC6804-1 和 STM32 Nuclue F446RE 之间的 I2C 通信
- python - 相控解码器的 Scipy 替换
- python - asyncpg 中的 fetchval 是否适用于 sql 注入?
- r - 文本作为 R 中管道函数的输出
- selenium - Selenium - 在多个 TestNG @Test-annotations 中使用文本字符串
- java - 在 Java 中实现 SAT 多边形碰撞检测时遇到问题
- css - DIV(位置:固定)内的 DIV(溢出-y:滚动)溢出父级边界
- mpi - 加载共享库时 MPI 错误:libpgftnrtl.so 在另一台机器上
- vba - 如何等到从 UFT 的网页中删除/删除对象?
- pandas - 计算出的 pandas 列的最大值和 0