Rayden Storm نشر 18 أبريل 2021 أرسل تقرير مشاركة نشر 18 أبريل 2021 const [loading, setLoading] = useState(false); const [error, setError] = useState(false); const next = async () => { setLoading(true); updateCurrent(code) //some async function .then(() => setLoading(false)) .catch((e) => { setLoading(false); setError(e); }); }; هل هناك طريقة لجعل loading true فقط في حالة ما اذا updateCurrent أخذت أكثر من ثانية في العمل 1 اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
0 Abdullah Muhammad نشر 18 أبريل 2021 أرسل تقرير مشاركة نشر 18 أبريل 2021 يمكنك إستخدم setTimeout لتحقيق ذلك كالتالي const [loading, setLoading] = useState(false); const [error, setError] = useState(false); const next = async () => { const timer = setTimeout(() => { setLoading(true); }, 1000); updateCurrent(code) //some async function .then(() => {loading ? setLoading(false) : clearTimeout(timer);}) .catch((e) => { setLoading(false); setError(e); }); }; 1 اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
السؤال
Rayden Storm
const [loading, setLoading] = useState(false); const [error, setError] = useState(false); const next = async () => { setLoading(true); updateCurrent(code) //some async function .then(() => setLoading(false)) .catch((e) => { setLoading(false); setError(e); }); };
هل هناك طريقة لجعل loading true فقط في حالة ما اذا updateCurrent أخذت أكثر من ثانية في العمل
رابط هذا التعليق
شارك على الشبكات الإجتماعية
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.