دوستان سلام،
من در حال نوشتن یک پلاگین گالری تصاویر هستم که یکسری داده رو از طریق ایجکس میفرستم به یک فایل پی اچی پی ، ولی چون تعداد درخواست ها بالا هست باید منتظر جواب فایل پی اچ پی باشم ولی این باعث میشه که کدهای بعدی جاوا اسکریپت من اجرا بشه و منتظر جواب نمونه ، کد من بصورت زیر هست
// Send data to php file
jQuery.ajax({
type: 'POST',
url: api_path_create,
data: { images: attachments, gallery_id: gallery_id },
success: function (response) {
// Get data from php file
var items = jQuery.parseJSON(response);
// Add to Gallery
image_view(items,categories);
}
});
چطور میتونم که ابتدا صبر کنم تا جواب از فایل پی اچ پی دریافت کنم و بعد تابع image_view رو اجرا کنم؟
در اصل چطور میتونم که async و awiat رو اینجا پیاده سازی کنم
ممنون از دوستان
سلام دوست عزیز
@nimageneral
طریقه نوشتن async/await برای ajax به صورت زیر هستش
async function doAjax(args) {
let result;
try {
result = await $.ajax({
url: ajaxurl,
type: 'POST',
data: args
});
return result;
} catch (error) {
console.error(error);
}
}
وقتی شما ریسپانسی از طرف فایل php ارسال نکنید با status کد 200 , وارد تابع success نمیشد و فانکشن شما اجرا نمیشود (در واقع باید بع همین شکلی که نوشتید کار کنه) !!!
شما می فرمایید وقتی درخواست داده میشع بلافاصله فانکشن شما اجرا میشود ؟ (برای مورد شما چگونه ریسپانس ارسال میکنید در فایل php)
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟