Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在javascript中将func1响应值传递给func2_Javascript_Node.js - Fatal编程技术网

如何在javascript中将func1响应值传递给func2

如何在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

我试图将“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.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)
没有问题。如果这包括了你所需要的,你介意接受这个答案吗?