我正在尝试使函数通过对象,并且是否存在任何空值。这是我的代码:
async function validateObjectField(course) {
let error = new Error();
const keys = Object.keys(course);
keys.forEach(k => {
const obj = course[k];
if (typeof obj === "object") {
if (Array.isArray(obj)) {
if (Object.size(obj) === 0) {
error.message = `${obj} is required!`;
return error;
}
for (const o of obj) {
error = validateObjectField(o);
if (error) return error;
}
} else {
error = validateObjectField(obj);
if (error) return error;
}
}
if ((typeof obj === "string" && obj.length === 0) || obj === null) {
error.message = `${obj} is required!`;
return error;
}
});
}
我正在使用console.log()进行观察,发现有时代码会返回return语句,但其余代码仍会执行。有人知道为什么吗?我被困住了,不知道现在该怎么办。
在此代码块中:
if (obj.length === 0) {
error.message = `${obj} is required!`;
return error;
}
它没有返回错误并中断了功能。