在JavaScript中,我正在尝试使用从MongoDB检索的数据构建HTML表。但是,我遇到了MongoDB调用的异步性问题。
下面是我的代码,我正在构建HTML以插入表格。
问题是,一旦我处于回调状态,我就不知道如何更新超出回调函数范围的资产字符串。
var assets = "";
assets += "<tr><td class='groupHeading'>Bank Accounts and Cash</td></tr>";
var MongoClient = require('mongodb').MongoClient;
var URL = 'mongodb://localhost:27017/alta';
MongoClient.connect(URL, function(err, db) {
if (err) return;
var collection = db.collection('account');
collection.find().toArray(function(err, docs) {
==> // How do I get the values from the docs array back to my assets string???
db.close();
})
})
assets += "<tr><td></td><td class='balanceUnderline'><hr/></td></tr>";
assets += "<tr><td class='groupTotal'>Total Bank Accounts and Cash</td><td class='balanceCol'>10,000.00</td></tr>";
document.getElementById('AssetsTable').innerHTML = assets;
编辑:我仔细阅读了重复的问题,但似乎 来回答我的问题。在那个问题中,OP明确指出,“为什么在所有这些例子中输出都未定义?我不想要解决方法,我想知道为什么会发生这种情况。”
在我的情况下,我知道发生了什么,但不知道如何得到我想要的东西。
在重复的问题答案/示例中,回调使用传递的数据完成整个工作。就我而言,我需要做以下事情:
除非我错过了或不理解,否则我在重复的问题中找不到答案。