Am Montag, 17. Februar 2014 11:25:46 UTC+1 schrieb ajlopez:
>
> Umm... I don't use CouchDB, nano module. But it looks as a callback 
> problem. You are running CouchRead() inmmediately AFTER CouchWrite(), but 
> this function has still pending to call its own callbacks.
>
> So, a quick alternative approach (not tested):
>
> var couchdb = require('nano')('http://localhost:5984/');
> var db = couchdb.use('udoodb');
> CouchWrite();
> // CouchRead(); <-- not here
>
>
> function CouchWrite() {
> couchdb.db.destroy('udoodb', function()
> {
> couchdb.db.create('udoodb', function(err) {
> if (err) {throw err; }
> var doc1 = { sw1:false, sw2:false, sw3:false };
> db.insert(doc1,'4662745328718336f506f9d2d3010c0c', function(err) {
> if (err) {throw err; }
>
> // Call CouchRead in the callback of db.insert
> CouchRead();
>
> });
> });
> });
> }
>
> function CouchRead() {
> db.get('4662745328718336f506f9d2d3010c0c', function(err, val) {
> console.log('Switches =', val);
> });
> }
>
>
> A more flexible approach:
>
> var couchdb = require('nano')('http://localhost:5984/');
> var db = couchdb.use('udoodb');
> CouchWrite(CouchRead); // pass CouchRead as the callback of CouchWrite
> // CouchRead(); <-- not here
>
>
> function CouchWrite(cb) {
> couchdb.db.destroy('udoodb', function()
> {
> couchdb.db.create('udoodb', function(err) {
>  if (err) {throw err; }
> var doc1 = { sw1:false, sw2:false, sw3:false };
> db.insert(doc1,'4662745328718336f506f9d2d3010c0c', function(err) {
> if (err) {throw err; }
>
> // Call the callback cb
> cb();
>
> });
> });
> });
> }
>
>
> But the preferred Node way is to have callbacks a la function(err, result)
>
>
> var couchdb = require('nano')('http://localhost:5984/');
> var db = couchdb.use('udoodb');
> CouchWrite(CouchRead); // pass CouchRead as the callback of CouchWrite
> // CouchRead(); <-- not here
>
>
> function CouchWrite(cb) {
> couchdb.db.destroy('udoodb', function()
> {
> couchdb.db.create('udoodb', function(err) {
>  if (err) {throw err; }
> var doc1 = { sw1:false, sw2:false, sw3:false };
> db.insert(doc1,'4662745328718336f506f9d2d3010c0c', cb);
> });
> });
> }
>
> function CouchRead(err, data) {
> if (err) throw err;
>
> db.get('4662745328718336f506f9d2d3010c0c', function(err, val) {
> console.log('Switches =', val);
> });
> }
>
> Angel "Java" Lopez
> @ajlopez
>
>
>
> On Mon, Feb 17, 2014 at 7:00 AM, Reiko Nötzold 
> <[email protected]<javascript:>
> > wrote:
>
>> Hi,
>>
>> i developed in node.js and CouchDB and have a problem with "function" and 
>> local/global variables.
>> My Code write and read in CouchDB, is running. But when both 
>> CouchWrite(); and CouchRead(); "Switches = undefined"
>> CouchWrite(); "or" CouchRead(); is running.
>>
>>
>> var couchdb = require('nano')('http://localhost:5984/');
>> var db = couchdb.use('udoodb');
>> CouchWrite();
>> CouchRead();
>>
>>
>> function CouchWrite() {
>> couchdb.db.destroy('udoodb', function()
>> {
>> couchdb.db.create('udoodb', function(err) {
>> if (err) {throw err; }
>> var doc1 = { sw1:false, sw2:false, sw3:false };
>> db.insert(doc1,'4662745328718336f506f9d2d3010c0c', function(err) {
>> if (err) {throw err; }
>> });
>> });
>> });
>> }
>>
>> function CouchRead() {
>> db.get('4662745328718336f506f9d2d3010c0c', function(err, val) {
>> console.log('Switches =', val);
>> });
>> }
>>
>> Thanks
>> Reiko
>>
>> -- 
>> -- 
>> Job Board: http://jobs.nodejs.org/
>> Posting guidelines: 
>> https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
>> You received this message because you are subscribed to the Google
>> Groups "nodejs" group.
>> To post to this group, send email to [email protected]<javascript:>
>> To unsubscribe from this group, send email to
>> [email protected] <javascript:>
>> For more options, visit this group at
>> http://groups.google.com/group/nodejs?hl=en?hl=en
>>  
>> --- 
>> You received this message because you are subscribed to the Google Groups 
>> "nodejs" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected] <javascript:>.
>> For more options, visit https://groups.google.com/groups/opt_out.
>>
>
>

-- 
-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

--- 
You received this message because you are subscribed to the Google Groups 
"nodejs" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to