تظهر رمز على النحو التالي
*aaa({
payload
},{call,put}){
yield put({
type: 'xxx',
payload: {...payload}
});
setTimeout(
yield put({
type: 'xxxx',
})
,1000)
},
بعد إضافة setTimeout ، فإنه يُبلغ دائمًا عن Uncaught SyntaxError: Uncaught SyntaxError: Uncaught SyntaxError: Uncaught SyntaxError: Uncaught SyntaxError:
محاولة:
const delay = (ms) => new Promise((resolve) => {
setTimeout(resolve, ms);
});
*aaa() {
yield call(delay, 1000);
yield put...
}
sorrycc لقد اكتشفت أن استخدام yeild put في setTimeout لن يعمل. خطأ SyntaxEnaught: المعرف غير المتوقع الذي بدأت في الإبلاغ عنه ناتج عن قيمة الإرجاع بعد تنفيذ yeild put. إذا كنت أرغب في بدء إجراء ، فإن هذا الإجراء يغير الحالة أولاً القيمة ، ماذا أفعل إذا تغيرت قيمة معينة للحالة بعد بضع ثوان؟ أحتاج إلى تغيير قيمة معينة للحالة للتحكم في رؤية عنصر ما. نظرًا لوجود العديد من الأماكن التي يجب استخدامها ، أحتاج إلى كتابة جميع الإجراءات في إجراء ما. يجب كتابة فهمي لهذا الإجراء في التأثيرات ، لأنه هنا. لا يمكن استخدام سوى call and put في الداخل ، ويمكنني وضع اثنين من المخفضات وتغيير الحالة مرتين ، ولكن لا يبدو أن استخدام yeild يتحكم فيه setTimeout. كيف يمكنني توقيت إجراء ليتم تشغيله في وقت محدد الوقت (في الأصل ، يمكن كتابة setTimeout خارج الإرسال لتحقيق ذلك ، ولكن إذا تم تغيير المشروع بهذه الطريقة ، فقد يتعين تغيير مئات الأماكن ، ولن يكون من الممكن تغييرها)
يمكنك أن تأخذ الوقت الكافي لفهم الفرق بين المولد والوظيفة العادية. لا يمكن تعيين الوظيفة العامة في المولد.
التعليق الأكثر فائدة
محاولة: