Rumah >hujung hadapan web >tutorial js >Menggunakan Notasi do dalam Pilihan Kesan-TS
Effect-TS menyediakan cara yang berkuasa untuk mengendalikan operasi dalam konteks Pilihan menggunakan notasi do. Artikel ini meneroka cara menyusun berbilang operasi dengan tatatanda do dan menunjukkan pelbagai senario melalui contoh.
Dalam contoh ini, kami mengikat nilai dalam konteks Pilihan, mengira jumlah dan menapis berdasarkan syarat.
import { Option as O, pipe } from 'effect'; function do_ex01() { const result = pipe( O.Do, O.bind('x', () => O.some(2)), // Bind x to the value 2 wrapped in Some O.bind('y', () => O.some(3)), // Bind y to the value 3 wrapped in Some O.let('sum', ({ x, y }) => x + y), // Let sum be the sum of x and y O.filter(({ x, y }) => x * y > 5) // Filter the result if x * y > 5 ); console.log(result); // Output: Some({ x: 2, y: 3, sum: 5 }) (since 2 * 3 > 5) }
Penjelasan:
Output ialah Some({ x: 2, y: 3, sum: 5 }) kerana keadaan 2 * 3 > 5 dipenuhi.
Contoh ini menunjukkan bahawa jika keadaan penapis gagal, hasilnya ialah Tiada.
function do_ex02() { const result = pipe( O.Do, O.bind('x', () => O.some(1)), // Bind x to the value 1 wrapped in Some O.bind('y', () => O.some(2)), // Bind y to the value 2 wrapped in Some O.let('sum', ({ x, y }) => x + y), // Let sum be the sum of x and y O.filter(({ x, y }) => x * y > 5) // Filter the result if x * y > 5 ); console.log(result); // Output: None (since 1 * 2 <= 5) }
Penjelasan:
Output adalah Tiada kerana syarat 1 * 2 <= 5 gagal.
Contoh ini menunjukkan bahawa jika sebarang pengikatan Tiada, hasilnya Tiada.
function do_ex03() { const result = pipe( O.Do, O.bind('x', () => O.some(2)), // Bind x to the value 2 wrapped in Some O.bind('y', () => O.none()), // Bind y to None O.let('sum', ({ x, y }) => x + y), // This line won't execute since y is None O.filter(({ x, y }) => x * y > 5) // This line won't execute since y is None ); console.log(result); // Output: None (since y is `None`) } </p>
Penjelasan:
Keluaran ialah Tiada kerana salah satu pengikatan (y) ialahTiada`.
Notasi do dalam Effect-TS membenarkan penjujukan operasi yang elegan dan boleh dibaca dalam konteks Pilihan. Dengan mengikat nilai, membenarkan nilai yang dikira dan menapis berdasarkan syarat, kami boleh mengendalikan logik pilihan yang kompleks dengan cara yang mudah. Contoh di atas menggambarkan bagaimana keputusan berubah berdasarkan keadaan yang berbeza dan kehadiran Tiada.
Atas ialah kandungan terperinci Menggunakan Notasi do dalam Pilihan Kesan-TS. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!