Redis
 sql >> डेटाबेस >  >> NoSQL >> Redis

async फ़ंक्शन node.js . से रिटर्निंग मान

अगर client.exists रिटर्न वादा, वही कोड नीचे लिखा जा सकता है:

empId: async (obj, params, ctx, resolverInfo) => {

    const exists = await client.exists(obj.empId);

    if (exists === 1) {
      return getAsync(obj.empId);
    }

    return await db.one('SELECT * FROM iuidtest WHERE empid = $1', [obj.empId])
      .then(iuidtest => {
        return iuidtest.empid;
      });

  }

अगर client.exists केवल कॉलबैक स्वीकार करता है, तो कोड इस प्रकार लिखा जा सकता है:

empId: async (obj, params, ctx, resolverInfo) => {

    async function empIdExists(empId) {

      return new Promise(function resolver(resolve, reject) {

        client.exists(obj.empId, function(err, reply) {

          if (err) {
            reject(err);
            return;
          }

          if (reply == 1) {
            resolve(1);
            return;
          } else {
            resolve(0);
            return;

          }

        })

      });

    }

    const exists = await empIdExists(obj.empId);

    if (exists === 1) {
      return getAsync(obj.empId);
    }

    return await db.one('SELECT * FROM iuidtest WHERE empid = $1', [obj.empId])
      .then(iuidtest => {
        return iuidtest.empid;
      });

  }

दूसरे संस्करण में, ध्यान दें कि मैंने client.exists . को लपेट लिया है async फ़ंक्शन में कॉल करें और await . का उपयोग करके कॉल करें कीवर्ड।




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Socket.io एकाधिक सर्वरों पर संदेश कैसे भेजता है?

  2. रेडिस में वस्तु गुणों को संग्रहीत करना

  3. सर्वर-साइड टाइमस्टैम्प के साथ रेडिस सॉर्ट किए गए सेट में स्कोर के रूप में कैसे स्टोर करें?

  4. स्वचालित पुनर्प्रयास

  5. मास्टर और स्लेव के साथ रेडिस कनेक्शन कैसे बनाएं