所以我正在用JS编写程序,而我正在使用mysql。
我正在向数据库发送请求,应该返回fs
,但是每次我收到using (var vReader = new StreamReader("filename"))
{
string myLine = string.Empty;
while ((myLine = vReader.ReadLine())!=null)
{
//DO SOMETHING WITH myLine
}
}
时,我都不明白为什么。我在堆栈溢出中看到了一些答案,但我不理解。
这是我的职能:
"Null"
"undefined"
返回async function checkKey(key) {
var activated = "";
var sqlcheck = "SELECT activated from authentification where discord_key = ?";
console.log("in function");
await DB.query(sqlcheck, [key], function (err, result) {
if (err) throw (err);
console.log("test");
console.log(result[0].customerID);
activated = result[0].customerID;
});
if (activated == "Null") {
return ("NULL");
} else {
return ("used");
}
}
此刻我在另一个函数中调用它:
console.log(result[0].customerID);
是否可以等待功能"undefined"
完成后再继续?
这些是我的日志:
if (checkKey(key) == "NULL") {
try {
它应该说:
"checkkey"
主要功能继续运行,而无需检查功能是否结束。
非常感谢您的帮助!
答案 0 :(得分:0)
if (activated == "Null")
NULL
不是字符串,它是SQL语言中的一个特殊值,表示该值是未知的,即未定义。
当您的数据库驱动程序从数据库中检索到NULL
值时,它会将其转换为与您正在使用的计算机语言中的NULL
概念相对应的任何值,在javascript中这将是{{1 }}变量。
您可以简单地将此条件重写为布尔检查:
undefined
这将捕获if (!activated)
为空字符串,未定义值,错误的布尔值和数字activated
的情况。
如果您想允许0
,则:
0