---
name: "batchSetStorage"
mode: "kit"
versionRequirements:
  - { name: "BaseKit", version: "3.30.1" }
  - { name: "@ray-js/ray", version: "1.7.60" }
platform:
  - "iOS"
  - "Android"
async: true
---

## batchSetStorage

> [VERSION] BaseKit >= 3.30.1 | @ray-js/ray >= 1.7.60

> [PLATFORM] iOS, Android

> ⚡ **Supports Promise** — Returns a Promise when success / fail / complete callbacks are omitted.

### Description

Batch store data under the specified key in local storage. This overwrites the existing value for that key. Data remains available unless the user deletes it or the system clears it due to storage constraints. The maximum data size per key is 1 MB, and the total storage limit is 10 MB.

### Parameters

| Property | Type | Required | Default | Since | Description |
| --- | --- | --- | --- | --- | --- |
| `kvList` | `StorageDataBean[]` | Yes | - | `3.30.1` | List of key-value pairs for batch storage |
| `complete` | `() => void` | No | - | - | Completion callback (executed on both success and failure) |
| `success` | `() => void` | No | - | - | Callback on successful API call |
| `fail` | `(params: Object) => void` ↓see below | No | - | - | Failure callback |

#### fail callback parameters

| Property | Type | Description |
| --- | --- | --- |
| `errorMsg` | `string` | Error message |
| `errorCode` | `string \| number` | Error code |
| `innerError` | `Object` | Error extension |

##### fail(params).innerError properties

| Property | Type | Description |
| --- | --- | --- |
| `errorCode` | `string \| number` | Error extension code |
| `errorMsg` | `string` | Error extension message |


### Referenced Types

##### `interface` StorageDataBean

| Property | Type | Since | Description |
| --- | --- | --- | --- |
| `key` | `string` | `2.0.1` | The specified key in local storage |
| `data` | `string` | `2.0.1` | Content corresponding to the key |


### Examples

#### Demo

```tsx
import { batchSetStorage } from '@ray-js/ray'

// Batch write to local storage (kvList is a key-value list)
batchSetStorage({
  kvList: [
    { key: "k1", data: "v1" },
    { key: "k2", data: "v2" },
  ],
  success: () => console.log("Batch write completed"),
  fail: error => console.error(error),
});
```
