node.js에서 비동기 호출로 많은 고통을 겪고 있습니다. 나는 그것을 즐기야 만한다는 것을 이해하지만, 사실 node.js가 그것을 사용하도록 강요하고 또 다른 선택 사항이 없기 때문에 실제로 그것을 싫어한다.node.js redis 선택 및 동기화에서 비동기
다른 데이터베이스에서 smembers
을 실행 해 봅니다. 그래서 여기서 내가 3 개의 데이터베이스를 모두 사용하고 있는지 확인하기 위해 _.after
을 사용합니다. 그러나 그것은 작동하지 않습니다.
var redisfetcher = function(string, callback1)
{
var retrieved = []
var callback = function(){
callback1(retrieved)
}
var afterAll = _.after(3,callback)
for (var col=0; col<=2; ++col) {
client.select(col, function() {
client.smembers(string, function (err, replies) {
if(!err){
retrieved.push(replies)
}
})
afterAll();
})
}
redisfetcher("offer", function(returnValue) {
console.log(returnValue)
})
나를 도와 주시면 감사하겠습니다.
동기화 모드에서 다음 코드를 실행하는 방법을 보여 주시면 감사하겠습니다.
정말 고맙습니다.하지만 실제로 (db, done) iterator, db -is 데이터베이스 인덱스, 완료 여부를 이해하지 못합니까? 내가 올바른지 확인하면 폭포의 마지막 요소의 콜백이 콜백으로 사용됩니다. – com
코드에 자세한 주석을 추가했습니다. – Eye
고맙습니다. 몇 분 남았습니다. 비슷한 질문을보세요. http://stackoverflow.com/questions/25765027/node-js-async-mapseries-of-smembers – com