我一直在使用ES6 Promise.
通常,Promise是这样构造和使用的
new Promise(function(resolve, reject){
if (someCondition){
resolve();
} else {
reject();
}
});
Run Code Online (Sandbox Code Playgroud)
但我一直在做类似下面的事情,为了灵活性而采取外面的决心.
var outsideResolve;
var outsideReject;
new Promise(function(resolve, reject) {
outsideResolve = resolve;
outsideReject = reject;
});
Run Code Online (Sandbox Code Playgroud)
然后
onClick = function(){
outsideResolve();
}
Run Code Online (Sandbox Code Playgroud)
这很好,但是有更简单的方法吗?如果没有,这是一个好习惯吗?
通过创建这样的对象
var condition=
{
where:
{
LastName:"Doe"?
FirstName:["John","Jane"],
Age:{
gt:18
}
}
}
Run Code Online (Sandbox Code Playgroud)
并把它传递进去
Student.findAll(condition)
.success(function(students){
})
Run Code Online (Sandbox Code Playgroud)
它可以像这样精美地生成SQL
"SELECT * FROM Student WHERE LastName='Doe' AND FirstName in ("John","Jane") AND Age>18"
Run Code Online (Sandbox Code Playgroud)
但是,这都是'AND'条件,如何通过创建条件对象来生成'OR'条件?