好的
我的问题是Javascript对象itemList
和priceList
-它们没有正确保留在.then()
部分中。
这是我遇到的问题:
var stmt = `SELECT * FROM SRV${msg.guild.id}`;
var itemList = {};
var priceList = {};
var num = -1;
sql.each(stmt, function(err, row) {
num++
if(row.items!="ITEMS") { itemList[num] = row.items; }
if(row.prices!="PRICES") { priceList[num] = row.prices; }
console.log("---------\n" + JSON.stringify(itemList, null, 4) + "\n" + JSON.stringify(priceList, null, 4));
})
.then((itemList, priceList) => {
console.log("----E----\n" + JSON.stringify(itemList, null, 4) + "\n" + JSON.stringify(priceList, null, 4) + "\n----E----");
let cmd = require("./itemsPROCESS.js");
cmd.run(transfer, msg, args, itemList, priceList);
});
这是它输出的重要信息:
我尝试使用字符串而不是Javascript对象,但是似乎也不喜欢它,并且输出相同。
5
和undefined
部分应该类似于它上面的位,但事实并非如此。可能与
null
部分有关吗?如果是这样,这是否意味着它不适用于true
-false
-undefined
等? 最佳答案
删除参数itemList
和priceList
,您的代码就可以了。
您在itemList
函数中引用的.then
实际上是SQL promise解决的问题。
.then(() => {...});