Skip to content

Commit c8a5288

Browse files
committed
Asynchronous command result handling
1 parent 15fb199 commit c8a5288

File tree

1 file changed

+17
-2
lines changed

1 file changed

+17
-2
lines changed

content/develop/clients/nodejs/migration.md

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ each feature.
4343
| :-- | :-- | :-- |
4444
| [Command case](#command-case) | Lowercase only (eg, `hset`) | Uppercase or camel case (eg, `HSET` or `hSet`) |
4545
| [Command argument handling](#command-argument-handling) | Argument objects flattened and items passed directly | Argument objects parsed to generate correct argument list |
46-
| [Asynchronous command result handling](#async-result) | Callbacks and Promises | Promises only |
46+
| [Asynchronous command result handling](#async-result) | Callbacks and Promises | Promises and Callbacks (via Legacy Mode) |
4747
| [Arbitrary command execution](#arbitrary-command-execution) | Uses the `call()` method | Uses the `sendCommand()` method |
4848

4949
### Techniques
@@ -189,7 +189,22 @@ client.get('mykey').then(
189189
`node-redis` supports only `Promise` objects for results, so
190190
you must always use a `then()` handler or the
191191
[`await`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/await)
192-
operator to receive them.
192+
operator to receive them, however callbacks are still supported via the legacy mode:
193+
194+
```js
195+
// Promise
196+
await client.set('mykey', 'myvalue');
197+
198+
// Callback
199+
const legacyClient = client.legacy();
200+
legacyClient.set("mykey", "myvalue", (err, result) => {
201+
if (err) {
202+
console.error(err);
203+
} else {
204+
console.log(result);
205+
}
206+
});
207+
```
193208

194209
### Arbitrary command execution
195210

0 commit comments

Comments
 (0)