آرمین امیری نسب
3 سال پیش توسط آرمین امیری نسب مطرح شد
0 پاسخ

فراخوانی داده به صورت Sync در جاوا اسکریپت

سلام وقتتون بخیر 👋
من میخوام یک متغیری رو صدا کنم که در یک تابع مقدار اون تغییر میکنه ولی مشکل اینجاست که جاوا اسکریپت به صورت Async داده ها رو میفرسته و اون متغیر قبل از تغییر مقدار در داده صدا زده می شه ، میخوام تا زمانی که تابع فراخوانی نشد سراغ خط های بعدی نره و منتظر اون بمونه ، توی وب یکسری چیز ها درباره کال بک فانکشن ها مطالعه کردم ولی کامل متوجه نشدم ، سورس کد رو این پایین قرار میدم.

IDB.create = (dbName) => {

    let idbDB = indexedDB.open(dbName);

      idbDB.addEventListener("error", (event) => {
        console.error(
          err,
          `Error Creating '${event.target.result.name}' Indexed DataBase`
        );
      });

      idbDB.addEventListener("success", (event) => {

        console.info(
          err,
          `'${event.target.result.name}' Indexed Database Was Created Succesfully :)`
        );

        returndb = event.target.result;
      });

      idbDB.addEventListener("upgradeneeded" , (event) => {
        console.info(
          err,
          ` The Indexed Database '${event.target.result.name}' Needs To Be Upgrade.`
        );
      });
      return returndb;
};

این تابع قراره مقدار متغیر returndb رو برگردونه.