ジェニー・レイトについて知りましょう!
🔖 8月6日TIL
generatorと普通の関数の特徴は?
正義はどうする?
function* minsu() {
const myMsgList = [
'안녕 나는 민수야',
'만나서 반가워',
'내일 영화 볼래?',
'시간 안 되나?',
'내일모레는 어때?'
]
for (const msg of myMsgList) {
console.log('수지: ', yield msg)
}
}
const a = minsu()
console.log('민수: ', a.next().value)
console.log('민수: ', a.next("안녕!").value)
console.log('민수: ',a.next("나도 만나서 반가워!").value)
console.log('민수: ',a.next("그건좀...").value)
上記のコードに示すようにfunction*で実現できます.1つ以上の降伏式も含まれます.
1.yieldはjner layer関数の実行を一時停止するか、キーワードの後の式の計算結果をjner layer関数呼び出し元に返します.
2.nextメソッドに渡されるパラメータは、サードパーティ関数が割り当てられた歩留まり式の変数に格納されます.
では、上のコードはどのような結果になりますか?
nextメソッドが最初に呼び出されると、最初の最終品目式が実行され、一時停止されます.
2番目のnextメソッドを呼び出すときに渡されるパラメータ「さようなら」は、最初の完成品式を呼び出すコンソールです.logに渡されます.
そこで、まず「秀智:こんにちは」と出力します.
次に、収益率式が割り当てられた変数に「お会いできて嬉しいです」が格納されます.
次の「それはちょっと…」この降伏式を割り当てられた変数に格納します.
「秀智:それはちょっと…」出力します.
使用例
export function* fetchData(action) {
yield put(actions.setLoading(true))
yield put(actions.addLike(action.timeline.id, 1))
yield call(callApiLike)
yield put(actions.setLoading(false))
}
上記の例では、putなどのeffectをプライベートミドルウェアに実行し、プライベートミドルウェアをプライベートミドルウェアに渡します.次に、実行プロセスをサードパーティに渡します.すなわち,PUTに関する情報をプライベートミドルウェアに渡し,次の製品を実行する.(作成された関数とプライベートミドルウェアが連携します.)
に感銘を与える
ただ単に管理者に実行フローを調整できる程度のことを知っただけで、今回はTILを書くとともに、フローがどのように移行するかをさらに考えるきっかけになりました!
Reference
この問題について(ジェニー・レイトについて知りましょう!), 我々は、より多くの情報をここで見つけました https://velog.io/@jinn2u/제너레이터란テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol