Node-redis: "рдкреНрд░рд╛рдкреНрдд" рдХрдорд╛рдВрдб рдХреИрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдореВрд▓реНрдп 'рд╕рддреНрдп' рдирд╣реАрдВ рд╣реИ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 12 рдЕрдЧре░ 2013  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: NodeRedis/node-redis

"рдкреНрд░рд╛рдкреНрдд" рдХрдорд╛рдВрдб рдХреИрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдореВрд▓реНрдп 'рд╕рддреНрдп' рдирд╣реАрдВ рд╣реИ?

fixed / done question

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдирдорд╕реНрддреЗ @yuany - рдпрд╣ рдПрдХ рдкрд╛рд░рдВрдкрд░рд┐рдХ Node.js рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдЖрдк рдкрд░рд┐рдгрд╛рдо рддреИрдпрд╛рд░ рд╣реЛрдиреЗ рдкрд░ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рд░реВрдк рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЙрд▓рдмреИрдХ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВред

рдЕрд░реНрдерд╛рдд:

client.get("foo", function (error, value) { /* ... */ })

рдпрд╣ рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ Node.js рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЙрд╕рдХрд╛ рдкрд░рд┐рдгрд╛рдо рд╣реИ, IO рд╕рдВрдЪрд╛рд▓рди рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рд░реВрдк рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЗрди рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╡рд╛рдкрд╕реА рдореВрд▓реНрдп _not_ рдорд╛рди рд╣реИред

рд╕рднреА 4 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдирдорд╕реНрддреЗ @yuany - рдпрд╣ рдПрдХ рдкрд╛рд░рдВрдкрд░рд┐рдХ Node.js рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдЖрдк рдкрд░рд┐рдгрд╛рдо рддреИрдпрд╛рд░ рд╣реЛрдиреЗ рдкрд░ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рд░реВрдк рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЙрд▓рдмреИрдХ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВред

рдЕрд░реНрдерд╛рдд:

client.get("foo", function (error, value) { /* ... */ })

рдпрд╣ рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ Node.js рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЙрд╕рдХрд╛ рдкрд░рд┐рдгрд╛рдо рд╣реИ, IO рд╕рдВрдЪрд╛рд▓рди рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рд░реВрдк рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЗрди рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╡рд╛рдкрд╕реА рдореВрд▓реНрдп _not_ рдорд╛рди рд╣реИред

рдзрдиреНрдпрд╡рд╛рдж, @brycebaril рдореИрдВрдиреЗ рдЗрд╕ рддрд░рд╣ рдХреЗ рдХрд╛рд░реНрдп рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИ:

var рдкрд░рд┐рдгрд╛рдо = client.get ("foo", рдлрд╝рдВрдХреНрд╢рди (рддреНрд░реБрдЯрд┐, рдорд╛рди) {рд╡рд╛рдкрд╕реА рдорд╛рди});
рдЪреЗрддрд╛рд╡рдиреА (рдкрд░рд┐рдгрд╛рдо);//рдкрд░рд┐рдгрд╛рдо 'рдЧрд▓рдд' рдпрд╛ 'рд╕рддреНрдп' рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдореИрдВ рдореВрд▓реНрдп рд╡рд╛рдкрд╕ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рд░реЗрдбрд┐рд╕ рд╕реЗ рдХреБрдВрдЬреА рджреНрд╡рд╛рд░рд╛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдореВрд▓реНрдп рд╣реИред

рд╣рд╛рдп @yuany - рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЬрдм рдЖрдИрдУ рдХрд░ рд░рд╣рд╛ рд╣реИ рддреЛ рдиреЛрдб рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рдХреЙрд▓рдмреИрдХ рдкрд░рд┐рдгрд╛рдо рдЙрдкрд▓рдмреНрдз рд╣реЛрдиреЗ рдкрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрджрд░реНрдн рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдЕрдиреНрдп рд╕рднреА рдХреЛрдб рдЬреЛ IO рдкрд░ рдирд┐рд░реНрднрд░ рдирд╣реАрдВ рд╣реИрдВ, рдЪрд▓реЗрдВрдЧреЗ рдЬрдмрдХрд┐ IO рдСрдкрд░реЗрд╢рди рдХрддрд╛рд░рдмрджреНрдз, рдирд┐рд╖реНрдкрд╛рджрд┐рдд, рдФрд░ рдЙрддреНрддрд░ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХреА рдЬрд╛рддреА рд╣реИред

рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣рд╛рдВ рдПрдХ рдЕрдЪреНрдЫреА рдЬрдЧрд╣ рд╣реИ: https://github.com/maxogden/art-of-node#callbacks

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП

client.get("foo", function (error, value) {
  // value is only defined in the context of this callback
  console.log(value)
})

// this parent code has already executed, before it asked Redis for the value

рдзрдиреНрдпрд╡рд╛рдж, @brycebaril рдЕрдм рдореИрдВ рд╕реНрдкрд╖реНрдЯ рд╣реВрдВ, рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдХреЙрд▓рдмреИрдХ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдирд┐рд╖реНрдкрд╛рджрди рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рд╣реИред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕