@@ -43,7 +43,7 @@ each feature.
43
43
| :-- | :-- | :-- |
44
44
| [ Command case] ( #command-case ) | Lowercase only (eg, ` hset ` ) | Uppercase or camel case (eg, ` HSET ` or ` hSet ` ) |
45
45
| [ 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 (but supports callbacks via Legacy Mode) |
47
47
| [ Arbitrary command execution] ( #arbitrary-command-execution ) | Uses the ` call() ` method | Uses the ` sendCommand() ` method |
48
48
49
49
### Techniques
@@ -85,7 +85,7 @@ to make the connection:
85
85
``` js
86
86
import { createClient } from ' redis' ;
87
87
88
- const client = await createClient ();
88
+ const client = createClient ();
89
89
await client .connect (); // Requires explicit connection.
90
90
```
91
91
@@ -137,7 +137,7 @@ objects are flattened into sequential key-value pairs:
137
137
138
138
``` js
139
139
// These commands are all equivalent.
140
- client .hset (' user' {
140
+ client .hset (' user' , {
141
141
name: ' Bob' ,
142
142
age: 20 ,
143
143
description: ' I am a programmer' ,
@@ -189,7 +189,22 @@ client.get('mykey').then(
189
189
` node-redis ` supports only ` Promise ` objects for results, so
190
190
you must always use a ` then() ` handler or the
191
191
[ ` await ` ] ( https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/await )
192
- operator to receive them.
192
+ operator to receive them. However, you can still use callbacks with the legacy mode if you need them:
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
+ ```
193
208
194
209
### Arbitrary command execution
195
210
@@ -339,9 +354,8 @@ command with an explicit method:
339
354
client .setnx (' bike:1' , ' bike' );
340
355
```
341
356
342
- ` node-redis ` doesn't provide a ` SETNX ` method but implements the same
343
- functionality with the ` NX ` option to the [ ` SET ` ] ({{< relref "/commands/set" >}})
344
- command:
357
+ ` node-redis ` provides a ` SETNX ` method but this command is deprecated. Use the ` NX ` option to the [ ` SET ` ] ({{< relref "/commands/set" >}})
358
+ command to get the same functionality as ` SETNX ` :
345
359
346
360
``` js
347
361
await client .set (' bike:1' , ' bike' , {' NX' : true });
0 commit comments