Comments (3)
That's what you have to do with async functions in general, not just redis. There's a whole crop of modules (search for Flow Control / Async Goodies
) dedicated to making async easier.
from node-redis.
Your second example should work though, but you are probably getting confused about the order in which things run. Check out this program:
var client = require("redis").createClient();
client.set("some key", "some val");
var data;
client.get("some key", function (err, res) {
data = res;
console.log("Inside callback, data is: " + data);
});
console.log("Outside callback, data is: " + data);
This will output:
Outside callback, data is: undefined
Inside callback, data is: some val
Note that the "Outside callback" ran first. Since client.get() is a potentially blocking operation, the callback is noted, and control passes immediately (as far as you are concerned) to the next line in your program.
Note also that client.set() and client.get() are both operations that complete asynchronously, but they are guaranteed to complete in order. So you know that the get will not invoke the callback until the set is complete.
from node-redis.
Ah-ha, thanks for that bit of tutorial.
from node-redis.
Related Issues (20)
- Unable to use +/- inf at method: zAdd HOT 2
- Create "ensure" method
- quit vs disconnect - flipped behaviour or wrong documentation HOT 1
- isolationPoolOptions have terrible defaults
- createCluster clients don't handle on('error') correctly HOT 2
- "ClientClosedError: The client is closed" error in my TypeScript application redis usage
- Quit is not getting closed HOT 1
- Detect pub sub subscription status/connection on the cluster client?
- FT.AGGREGATE _ LOAD * is not supported
- Is there a read from option in redis-cluster? HOT 2
- Successfully connected to Redis server, but did not trigger connect, ready event callback HOT 1
- sRandMember seems to not support the count argument HOT 2
- Unable to connect to literal IPv6 addresses via the `url` option
- [docs] The `sharded-channel-moved` redirection failed. HOT 1
- calling aclGetUser on none existing user throws a null error
- No way to quit a BLOCKed connection? HOT 2
- Not able to work with binary data (gzip) HOT 1
- arbitrary code execution when compiling specifically crafted malicious code
- hmset() : redisClient.hmset is not a function HOT 1
- ft.aggregate does not aggregate when filtering tags
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from node-redis.