Я хочу вернуть значение из вложенных обратных вызовов. Ниже приведен псевдокод:возвращаемое значение из нескольких вложенных обратных вызовов в узле
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 в «строк».
Вы пытались добавить ключевое слово 'return' перед каждым вызовом метода? Ex. 'function1 (" arg1 ", function (err, rows) {return client.query (sql1, function (err, rows) {return 1;});'? –
@CyberneticTwerkGuruOrc Возвращение ничего не сделает, поскольку это ** асинхронный **. –