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 اقتباس
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 اقتباس
السؤال
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
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.