Node-redis: كيفية الحصول على القيمة الحقيقية لأمر "get" ليست "true"

تم إنشاؤها على ١٢ أغسطس ٢٠١٣  ·  4تعليقات  ·  مصدر: NodeRedis/node-redis

كيف نحصل على قيمة حقيقية لأمر "get" ليست "حقيقية"؟

fixed / done question

التعليق الأكثر فائدة

مرحبًا yuany - هذه مكتبة Node.js تقليدية حيث توفر عمليات رد

بمعنى آخر:

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

هذا نتيجة للطريقة التي يعمل بها Node.js ، تتم عمليات الإدخال / الإخراج بشكل غير متزامن.

القيمة المرجعة لهذه الوظائف هي _not_ القيمة.

ال 4 كومينتر

مرحبًا yuany - هذه مكتبة Node.js تقليدية حيث توفر عمليات رد

بمعنى آخر:

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

هذا نتيجة للطريقة التي يعمل بها Node.js ، تتم عمليات الإدخال / الإخراج بشكل غير متزامن.

القيمة المرجعة لهذه الوظائف هي _not_ القيمة.

شكرًا ، brycebaril لقد جربت الوظيفة مثل هذا:

var result = client.get ("foo"، function (error، value) {return value})؛
تنبيه (نتيجة) ؛ // ستكون النتيجة "خطأ" أو "صواب" ، لكنني أريد إرجاع القيمة الحقيقية بالمفتاح من redis.

مرحبًا yuany - هذه ليست الطريقة التي تعمل بها العقدة عندما تقوم

يوفر رد النداء سياق لتنفيذه عندما تكون النتيجة متاحة. سيتم تشغيل جميع التعليمات البرمجية الأخرى التي لا تعتمد على الإدخال / الإخراج أثناء وضع عملية الإدخال / الإخراج في قائمة الانتظار وتنفيذها وانتظار الرد.

إليك مكانًا جيدًا لمعرفة المزيد حول كيفية عمله: 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 التقييمات