如何在javascript中将func1响应值传递给func2
我试图将“t_id”值传递给下一个函数(func_B),当我执行下面的代码时,我在响应中得到“Undefined”消息。你能帮我更正下面的脚本吗如何在javascript中将func1响应值传递给func2,javascript,node.js,Javascript,Node.js,我试图将“t_id”值传递给下一个函数(func_B),当我执行下面的代码时,我在响应中得到“Undefined”消息。你能帮我更正下面的脚本吗 function func_A(){ request(options, (error, response, body) => { const data = JSON.parse(response.body) t_id= String(data.result[0].test_id.va
function func_A(){
request(options, (error, response, body) => {
const data = JSON.parse(response.body)
t_id= String(data.result[0].test_id.value)
console.log('Response id ' + t_id)
return t_id
});
}
function func_B(id){
var names = func_A();
console.log('function2 response ' + names);
}
func_B(id)
答复:
Response id B12T5343J989L
function2 response undefined
这是异步gotcha的经典案例 这个链接描述了问题和解决方案 下面是一个如何使用回调获取值的示例,但最好研究一下,它使用一个更自然的流来处理异步调用 函数func_A(回调){ 请求(选项,(错误、响应、正文)=>{ const data=JSON.parse(response.body) t_id=String(data.result[0]。test_id.value) console.log('Response id'+t_id) 回调(t_id) }); } 函数func_B(id){ 函数(名称){ console.log('function2响应'+名称); }); } func_B(id)
没有问题。如果这包括了你所需要的,你介意接受这个答案吗?