sql >> Databáze >  >> NoSQL >> MongoDB

Node.JS čeká na nastavení proměnné

Měli byste přejít od zpětných volání k Promises nebo Async/Await, přičemž druhé z nich je mnohem snáze čitelné:

async function retrieveValue(sort_order) {
    if (sort_order === undefined) {
        const db = await MongoClient.connect(dbUrl);
        const dbo = db.db("HIDDEN");
        const data = await dbo.collection("HIDDEN").findOne({}, {"sort": { sort_order: -1 }});
        return data.sort_order + 1;
      };
    return sort_order;
  }

EDIT (s blokem try-catch):

 async function retrieveValue(sort_order) {
         try {
            if (sort_order === undefined) {
                const db = await MongoClient.connect(dbUrl);
                const dbo = db.db("HIDDEN");
                const data = await dbo.collection("HIDDEN").findOne({}, {"sort": { sort_order: -1 }});
                return data.sort_order + 1;
            }
         } catch (error) {
             console.log(error);
         }
    return sort_order;
  }

Funkci v podstatě označíte jako async když jej definujete a kdykoli očekáváte Promise , označíte jej pomocí await takže „čeká“ na vaše data.




  1. Vyhledání dokumentu MongoDB pomocí slova v popisu pole v každém produktu pomocí Mongoskin

  2. ServiceStack.Redis:Nelze se připojit:sPort:50071

  3. Zastavit mongodb v ignorování speciálních znaků?

  4. Vybrat více hodnot z datové struktury Redis atomicky?