diff --git a/src/content/reference/react/cacheSignal.md b/src/content/reference/react/cacheSignal.md
index c898ca53b..47ff7553d 100644
--- a/src/content/reference/react/cacheSignal.md
+++ b/src/content/reference/react/cacheSignal.md
@@ -4,13 +4,13 @@ title: cacheSignal
-`cacheSignal` is currently only used with [React Server Components](/blog/2023/03/22/react-labs-what-we-have-been-working-on-march-2023#react-server-components).
+`cacheSignal` saat ini hanya digunakan dengan [React Server Components](/blog/2023/03/22/react-labs-what-we-have-been-working-on-march-2023#react-server-components).
-`cacheSignal` allows you to know when the `cache()` lifetime is over.
+`cacheSignal` memungkinkan Anda mengetahui kapan masa pakai `cache()` telah berakhir.
```js
const signal = cacheSignal();
@@ -22,11 +22,11 @@ const signal = cacheSignal();
---
-## Reference {/*reference*/}
+## Referensi {/*reference*/}
### `cacheSignal` {/*cachesignal*/}
-Call `cacheSignal` to get an `AbortSignal`.
+Panggil `cacheSignal` untuk mendapatkan `AbortSignal`.
```js {3,7}
import {cacheSignal} from 'react';
@@ -35,32 +35,32 @@ async function Component() {
}
```
-When React has finished rendering, the `AbortSignal` will be aborted. This allows you to cancel any in-flight work that is no longer needed.
-Rendering is considered finished when:
-- React has successfully completed rendering
-- the render was aborted
-- the render has failed
+Ketika React telah selesai me-*render*, `AbortSignal` akan dibatalkan (*aborted*). Ini memungkinkan Anda membatalkan pekerjaan yang sedang berjalan (*in-flight work*) yang sudah tidak lagi diperlukan.
+*Rendering* dianggap selesai ketika:
+- React telah berhasil menyelesaikan *render*
+- Proses *render* dibatalkan
+- Proses *render* mengalami kegagalan
-#### Parameters {/*parameters*/}
+#### Parameter {/*parameters*/}
-This function does not accept any parameters.
+Fungsi ini tidak menerima parameter apa pun.
-#### Returns {/*returns*/}
+#### Nilai Kembalian {/*returns*/}
-`cacheSignal` returns an `AbortSignal` if called during rendering. Otherwise `cacheSignal()` returns `null`.
+`cacheSignal` mengembalikan `AbortSignal` jika dipanggil selama proses *rendering*. Selain itu, `cacheSignal()` mengembalikan nilai `null`.
-#### Caveats {/*caveats*/}
+#### Peringatan {/*caveats*/}
-- `cacheSignal` is currently for use in [React Server Components](/reference/rsc/server-components) only. In Client Components, it will always return `null`. In the future it will also be used for Client Component when a client cache refreshes or invalidates. You should not assume it'll always be null on the client.
-- If called outside of rendering, `cacheSignal` will return `null` to make it clear that the current scope isn't cached forever.
+- `cacheSignal` saat ini hanya ditujukan untuk penggunaan di dalam [React Server Components](/reference/rsc/server-components). Pada Komponen Klien (*Client Components*), fungsi ini akan selalu mengembalikan `null`. Di masa mendatang fungsi ini juga akan digunakan untuk Komponen Klien ketika *cache* klien disegarkan atau diinvalidasi. Anda sebaiknya tidak mengasumsikan nilainya akan selalu `null` di sisi klien.
+- Jika dipanggil di luar proses *rendering*, `cacheSignal` akan mengembalikan `null` untuk memperjelas bahwa cakupan (*scope*) saat ini tidak di-*cache* selamanya.
---
-## Usage {/*usage*/}
+## Penggunaan {/*usage*/}
-### Cancel in-flight requests {/*cancel-in-flight-requests*/}
+### Membatalkan permintaan yang sedang berjalan {/*cancel-in-flight-requests*/}
-Call `cacheSignal` to abort in-flight requests.
+Panggil `cacheSignal` untuk membatalkan permintaan yang sedang berlangsung.
```js [[1, 4, "cacheSignal()"]]
import {cache, cacheSignal} from 'react';
@@ -71,11 +71,11 @@ async function Component() {
```
-You can't use `cacheSignal` to abort async work that was started outside of rendering e.g.
+Anda tidak dapat menggunakan `cacheSignal` untuk membatalkan pekerjaan asinkron (*async work*) yang dimulai di luar proses *rendering*, contohnya:
```js
import {cacheSignal} from 'react';
-// 🚩 Pitfall: The request will not actually be aborted if the rendering of `Component` is finished.
+// 🚩 Jebakan: Permintaan sebenarnya tidak akan dibatalkan jika proses rendering `Component` telah selesai.
const response = fetch(url, { signal: cacheSignal() });
async function Component() {
await response;
@@ -83,9 +83,9 @@ async function Component() {
```
-### Ignore errors after React has finished rendering {/*ignore-errors-after-react-has-finished-rendering*/}
+### Mengabaikan galat setelah React selesai me-render {/*ignore-errors-after-react-has-finished-rendering*/}
-If a function throws, it may be due to cancellation (e.g. the Database connection has been closed). You can use the `aborted` property to check if the error was due to cancellation or a real error. You may want to ignore errors that were due to cancellation.
+Jika sebuah fungsi melempar *error*, hal tersebut mungkin disebabkan oleh pembatalan (misalnya koneksi Basis Data telah ditutup). Anda dapat menggunakan properti `aborted` untuk memeriksa apakah galat tersebut disebabkan oleh pembatalan atau merupakan galat yang sebenarnya. Anda mungkin ingin mengabaikan galat yang disebabkan oleh pembatalan.
```js [[1, 2, "./database"], [2, 8, "cacheSignal()?.aborted"], [3, 12, "return null"]]
import {cacheSignal} from "react";
@@ -96,7 +96,7 @@ async function getData(id) {
return await queryDatabase(id);
} catch (x) {
if (!cacheSignal()?.aborted) {
- // only log if it's a real error and not due to cancellation
+ // hanya catat log jika itu merupakan galat sebenarnya dan bukan karena pembatalan
logError(x);
}
return null;