【发布时间】:2015-11-13 14:30:36
【问题描述】:
我有一长串嵌套的 if 语句。我编写的代码运行良好,但非常笨拙。有没有更简单的写法?
couchdb.query(phoneParam, function(err, data) {
if (err) {
console.log(err, err.stack);
} else if (data.Items.length > 0) {
deferred.resolve(data.Items[0]);
} else {
couchdb.query(phone1Param, function(err, data) {
if (err) {
console.log(err, err.stack);
} else if (data.Items.length > 0) {
deferred.resolve(data.Items[0]);
} else {
couchdb.query(phone2Param, function(err, data) {
if (err) {
console.log(err, err.stack);
} else if (data.Items.length > 0) {
deferred.resolve(data.Items[0]);
} else {
...
}
});
}
});
}
});
【问题讨论】:
-
我发现嵌套函数比嵌套 ifs 更笨拙。
-
我同意,有没有更好的方法不嵌套函数?
-
是 pouchdb/couchdb 吗?
-
一次尝试/捕获将巩固您的错误捕获。在函数开始时验证您的参数将使此代码更具可读性。
-
这是沙发数据库。代码有效,我只是想做得更好。错误消息来自我的服务器。有没有办法用 try/catch 做到这一点?