2013-10-30 222 views
0

我的要求是首先打開db數據庫,然後執行第二個方法。我試過我沒有在JS中做過這樣的事情,所以任何建議/指導非常感謝。Javascript非阻塞

我的代碼可以找到here。我怎樣才能使這種異步?我有setTimeout的選項,我沒有找到一個好的做法...

任何示例將非常有幫助。

+1

http://stackoverflow.com/questions/30036/javascript-and-threads搜索一些相關的關鍵字:JavaScript的多線程。 JavaScript工作線程。 – Tony

+1

JavaScript本身並沒有給出用戶定義的函數是異步的方法 - 運行異步代碼的唯一方法是通過瀏覽器定義的函數,如XMLHttpRequest,setTimeout等或Web工作人員。另請參閱[在JavaScript(非AJAX)中的異步編程](http://stackoverflow.com/questions/3294281/asynchronous-programming-in-javascript-not-ajax)。 –

+0

是node.js上的這個瀏覽器嗎? – exebook

回答

0

這段代碼是從這個https://github.com/mongodb/node-mongodb-native README

var MongoClient = require('mongodb').MongoClient 
    , format = require('util').format;  

    MongoClient.connect('mongodb://127.0.0.1:27017/test', function(err, db) { 
    if(err) throw err; 

    var collection = db.collection('test_insert'); 
    collection.insert({a:2}, function(err, docs) { 

     collection.count(function(err, count) { 
     console.log(format("count = %s", count)); 
     }); 

     // Locate all the entries using find 
     collection.find().toArray(function(err, results) { 
     console.dir(results); 
     // Let's close the db 
     db.close(); 
     });  
    }); 
    })