如何解决如何使此更新API更加高效和短而无重复
以下是API服务中更新帐户的方法。我如何在if条件下缩短代码,而不是增加太多对象?
async updateAccount(uuid: string,body: IUpdateAccountDto) {
const found = await this.getAccountById(uuid);
const update = (resolve,reject) => {
if (
found.username ||
found.password ||
found.email ||
found.phone ||
found.product
) {
resolve(
'account updated',((found.username = body.username),(found.password = body.password),(found.email = body.email),(found.phone = body.phone),(found.product = body.product)),);
} else {
reject('cannot update username');
}
};
const updateAccount = new Promise(update);
return updateAccount;
}
解决方法
您可以使用Object.values(obj)
和Array.some(fn)
来达到目的。 注意:使用Array.every(fn)将达到&&条件
var notValidFound = {
username: "",password: undefined,email: "",phone: null,product: ""
};
var notValidValue = Object.values(notValidFound).some(o => o);
console.log(notValidValue);
var validFound = {
username: "some_username",email: "a@abc.com",product: ""
};
var validValue = Object.values(validFound).some(o => o);
console.log(validValue);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。