سلام وقتتون بخیر 👋
من میخوام یک متغیری رو صدا کنم که در یک تابع مقدار اون تغییر میکنه ولی مشکل اینجاست که جاوا اسکریپت به صورت 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 رو برگردونه.
اولین نفری باشید که به این پرسش کمک میکند و مسیر حل مشکل را باز میکند.
اولین پاسخ را بنویسیدشاید پاسخ شما همینجا باشد