فتچ کردن و قراردادن پاسخ در متغیر گلوبال

- 3 هفته پیش
توسط jm آپدیت شد
jm ( 2319 تجربه )
3 هفته پیش

سلام من میخوام یدونه متغیر گلوبال تعریف کنم به اسم توکن و بعد با استفاده از fetch کردن api مورد نظرم این پارامتر رو مقدار دهیش کنم و توی ماژول های دیگم ازش استفاده کنم باید چکار کنم ؟
من اومدم یدونه ماژول به اسم Token.js ساختم و فتچ کردم به صورت زیر
fetch('https://api.github.com/users/github')
.then(res => res.json())
.then(json => globalToken=json.token);
ولی این متغیر بعد از اجرای همهی فایل ها مقدار دهی میشه من میخوام اول این متغیر مقداردهی بشه بعد توی بقیه فایل ها استفاده کنم ازش

حسام موسوی ( 116799 تجربه )
3 هفته پیش

سلام خوب نمیشه این مفهوم async هست چون fetch کردن کار زمان بریه اول مابقی کارها انجام میشه بعد این.

jm ( 2319 تجربه )
3 هفته پیش

تشکر از پاسختون
خب راهکارش چی هسن من واقعا به مشکل خوردم
من حتی اومدم اول توکن رو داخل دیتابیس ذخیره کردم تا داخل بقیه ماژول هام از دیتابیس بخونم برای همین داخل فتچ کردن api نوشتم اگر پاسخی که دریافت میکنه ارور اکسپایر شدن توکن هست بره توکن رو رفرش کنه و داخل دیتابیس اپدیت کنه و بعد بخونتش و دوباره فتچ کنه ولی باز هم مشکل دارم و مشکلم این هست که توی دیتابیس اپدیت مبشه ولی دوباره خونده نمیشه و همون دیتای قبلی رو یعنی همون توکن منقضی شده رو دوباره استفاده میکنه و باید بیام و داخل کامند هام دستور rs رو بزنم تا ریست بشه و اوکی بشه واقعا نمیدونم چکار کنم دیگه

برای ارسال پاسخ باید وارد سایت شوید