因此,我具有以下功能,但是当我调用保存组件时,实际上只有最后一个条目保存到数据库中。
var shortid = require('shortid'),
dynamodb = new AWS.DynamoDB();
setupComponents: function(args) {
console.log(args)
if (args["componentName"] && args["apiKey"] !== null){
var apiKey = args["apiKey"]
for (i = 0; i < args["componentName"].length; i++) {
console.log(args["componentName"][i]);
var componentName = args["componentName"][i];
saveComponent(componentName, apiKey);
}
} else {
console.log("NULL FOUND");
}
},
function saveComponent(args, apiKey) {
var o = new SoftwareComponent({
_id: shortid.generate,
componentName: args,
versionName: "default",
stepName: "default",
timeInMS: "default",
stepResult: "default",
notes: "default",
apiKey: apiKey
});
console.log(o)
o.save();
}
我将如何获取保存以异步方式调用,以便所有条目都保存在数据库中?
最佳答案
似乎与javascript闭包有关。尝试。
setupComponents: function (args) {
console.log(args);
if (args["componentName"] && args["apiKey"] !== null) {
var apiKey = args["apiKey"];
var arr = args["componentName"];
arr.forEach(function(item, index){
console.log(item);
saveComponent(item, apiKey);
});
} else {
console.log("NULL FOUND");
}
}
关于javascript - 使用Node.js异步保存到dynamodb,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40051139/