コードは以下のように表示されます
*aaa({
payload
},{call,put}){
yield put({
type: 'xxx',
payload: {...payload}
});
setTimeout(
yield put({
type: 'xxxx',
})
,1000)
},
setTimeoutを追加すると、常にUncaught SyntaxError:Unexpectedidentifierが報告されます。削除しても問題ありません。理由はわかりません。ここでsetTimeoutを使用することはできませんか。
試す:
const delay = (ms) => new Promise((resolve) => {
setTimeout(resolve, ms);
});
*aaa() {
yield call(delay, 1000);
yield put...
}
@sorrycc setTimeoutにyeildputを使用しても機能しないことがわかりました。UncaughtSyntaxError:報告を開始した予期しない識別子は、yeild putを実行した後の戻り値が原因です。アクションを開始する場合、このアクションは最初に状態を変更します。 。値、状態の特定の値が数秒後に変更された場合はどうすればよいですか?要素の可視性を制御するには、状態の特定の値を変更する必要があります。使用する場所が非常に多いため、アクション内のすべてのアクションを記述する必要があります。このアクションについての私自身の理解は、エフェクト内に記述する必要があります。内部で使用できるのはcallとputのみで、2つのレデューサーを配置して状態を2回変更できますが、yeildの使用はsetTimeoutによって制御されていないようです。指定されたタイミングでアクションがトリガーされるようにするにはどうすればよいですか。時間(元々、setTimeoutはディスパッチの外部で書き込むことができます。これを実現するには、プロジェクトをこのように変更する場合、何百もの場所を変更する必要があり、変更することはできません)
ジェネレーターと通常の機能の違いを時間をかけて理解することができます。ジェネレーターにジェネリック関数を設定することはできません。
最も参考になるコメント
試す: