gpt4 book ai didi

javascript - NodeJS 分配变量不起作用

转载 作者:行者123 更新时间:2023-12-02 17:13:55 24 4
gpt4 key购买 nike

我一定错过了一些东西。我无法正确覆盖变量。当我控制台记录数据时,有一个返回的 json 对象。我认为我没有创建数据对象或将数据对象分配给变量。如果我控制台记录 tcResponse 我会得到未定义。

router.get('/testcase/:id', function(req, res) {
var tcResponse;
var Client = require('node-rest-client').Client;
var options_auth={
user:"username",
password:"password"
};

client = new Client(options_auth);

args ={
data:{test:"hello"}, // data passed to REST method (only useful in POST, PUT or PATCH methods)
path:{
"baseUrl":"http://local.dev/flex/services/rest/latest",
"id":req.params.id
}, // path substitution var
parameters:{arg1:"hello",arg2:"world"}, // query parameter substitution vars
headers:{"test-header":"client-api"} // request headers
};

client.get("${baseUrl}/testcase/${id}", args, function(data, response){
// parsed response body as js object
console.log(data);
tcResponse = data;
// raw response
//console.log(response);
});

res.render('testcase', {
title: 'Zephyr Report - Test Case',
testCaseId: req.params.id,
tcResponseJson: tcResponse
});
});

我相信我错过了一些东西,但不确定是什么。谢谢

最佳答案

猜测,您正在尝试调用 REST API,然后返回结果数据?

在这种情况下,问题是您在调用 render 之前没有等待异步 get 回调。您需要将使用异步响应的代码移至异步函数的回调中。

client.get("${baseUrl}/testcase/${id}", args, function(data, response) {
res.render('testcase', {
title: 'Zephyr Report - Test Case',
testCaseId: req.params.id,
tcResponseJson: data
});
});

关于javascript - NodeJS 分配变量不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24600596/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com