我想从嵌套回调中返回值。下面是伪代码:
dataSetFinal = function1()
within function1
database is queried to get dataSet1
call function2, using dataSet1 as arguments
within function2
query database to get dataSet2
return dataSet2
return dataSet2
这是我让它发挥作用的尝试
dataSetFinal = function1("arg1", function(err, rows){
client.query(sql1, function(err,rows){
function2(rows[0].userId, function(err, rows){
client.query(sql2, function(err, rows){
return rows;
});
});
});
});
但我无法弄清楚如何让 function1 返回 function2 的“行”。
最佳答案
你不这样做,在某种程度上,你也不能这样做。理论上,您可以将值或引用传递给上层上下文并返回它,但这只有在中间的每个进程都完全同步时才有效。
那么该怎么办呢?回调就是解决方案。您可以将一个附加函数传递给外部方法,并使用所需的值调用该函数,而不是依赖返回值。
<小时/>关于javascript - 从 Node 中的多个嵌套回调中返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28029226/