1
私のプログラムを実行するには大きな問題があります。 私たちは、このキーは問題スレッド機能の除外nodejs/redis
hgetall tags
"X5"
"6"
"X2"
"7"
を存在する場合、このプログラムでRedisのHKEYとテストを使用します。
function firstChoiceChannel(){
var i=0;
var listRep
console.log(tags);
for(var k in tags){
console.log('@'+k+'|'+tags[k]);
client.hexists('tags',tags[k],function(err,rep){
console.log(tags[k]+"=>"+k+' i '+rep)
if(rep===1){
client.hget('tags',tags[k],function(err,rep){
console.log('value:'+rep);
})
console.log('ok');
}
});
}
}
このコンソール
[ 'X1', 'X2', 'X3', 'X5' ]
@0|X1
@1|X2
@2|X3
@3|X5
X5=>3 i 0
X5=>3 i 1
ok
X5=>3 i 0
X5=>3 i 1
ok
value:7
value:7
なぜ変数タグ[K]における実行プログラムサブ関数client.hexists(... function(err、rep){}) は常にtableの最後の値と同じですか?あなたの助けのための
おかげ
ヴィンセント
それはちょうどテストだった;)ありがとうたくさん – Vsplit
あなたはそれが機能は非同期(テストなし)だと思いますか? – Vsplit
答えを返しませんが、代わりに応答で呼び出されるコールバックを取る関数は(おそらく)非同期です。 ['async'](https://github.com/caolan/async)は、これらの種類のコントロールフローライブラリです。 –