不使用 REST couchDB API 的典型模式是“如果不存在则创建”。例如,如果我想创建一个不存在的数据库:
$.ajax({
type: 'PUT',
url: DB + 'mydatabase',
});
作为一名程序员,两者201 Created
都是412 Prerequisite failed
成功的,因为我希望数据库就位,如果它刚刚创建或者它已经在这里,它对我来说非常好。但从jQuery
角度来看,201
是成功412
也是失败 - 所以我需要编写大量代码以确保数据库到位:
$.ajax({
type: 'PUT',
url: DB + 'mydatabase',
}).fail( function( arg ) {
if( 412 == arg.statusCode ) {
// This is success.
} else {
// This is failure.
}
}).done( function( arg ) {
// This is another success.
});
这有效地使代码在两个地方成功(甚至在两个不同的回调中!)。是否有可能以更少的代码以某种方式减少错误处理,最好在一个地方处理成功?