في وظيفتي أدناه أريد التأكد من ذلك أولاً tooltip("destroy")
ينتهي ، ثم السطر التالي takeScreenshot()
يعدم. للأسف تنص وثائق Bootstrap الرسمية على ذلك tooltip("destroy")
هي دالة غير متزامنة ، لذلك في التعليمات البرمجية أدناه ، takeScreenshot()
يتم تنفيذه ، حتى قبل تدمير تلميح الأدوات.
لقد جربت حاليًا طريقتين:
النهج 1: استخدم Async - Await: هذا لم يحل المشكلة.
الطريقة 2: استخدم setTimeout لتأخير تنفيذ takeScreenshot()
. أدى هذا إلى حل المشكلة ولكن يبدو أنه اختراق لا حل قياسي.
هل هناك طريقة في جافا سكريبت أو Jquery يمكنني حل هذه المشكلة؟
فيما يلي الكود الخاص بي الذي لا يعمل بشكل متزامن :(
const processScreenshot = () => {
$('#draggableDiv').tooltip("destroy"); // this line is asynchronous in nature
takeScreenshot() // this line gets executed 1st before previous line returns
}