توجد طريقتين :
- إما أن تنفذ الامر مباشرة على الـ callback كما فعلت في document.write .
- أو تنادي دالة أخرى و توفر لها المتغير كمعامل ، كمثال
var markdown = require('markdown').markdown;
var Datastore = require('nedb')
db = new Datastore('db/db.nedb');
db.loadDatabase();
db.find({ name: 'usama' }, function (err, docs) {
renderResults(docs); // هنا إستخراج عملية الرسم لدالة أخرى
});
function renderResults (docs) {
document.write(docs); // و هنا تنفيذ الامر
}
و السبب في الامرين أن عملية جلب البيانات من قاعدة البيانات nedb "غير متزامنة" مثل الـ Ajax و بالتالي لا يمكنك الاستفادة من البيانات إلا داخل هذه الدالة المسترجعة .