我有以下函数返回一个带有Func = function () {
return Func1([a, b])()
.then(_.bind(function () {
//something
}, this));
};
函数的函数。
.then
稍后我将另一个Func
函数分配给Func2 = function(){
//something
this.Func()
.then(_.bind(function () {
//something
}, this));
};
,如下所示:
Func1().then().then()
会不会有├─src
│ ├─main
│ │ ├─java
│ │ │ └─com
│ │ │ └─company
│ │ │ └─app
│ │ │ └─mybatisInsert.java
│ │ │ ─SqlMapConfig.xml
│ │ │ ─Student.java
│ │ │ ─Student.xml
│ │ └─resources
│ └─test
│ └─java
└─target
或其他链?
答案 0 :(得分:0)
这是promise
。并且根据承诺,您可以根据自己的喜好做then
! ;)
function callback() {
console.log("then");
}
var p = new Promise(function(resolve) {
resolve();
}).then(callback);
p.then(callback);
p.then(callback).then(callback);
p.then(callback).then(callback).then(callback);
<强> Working example. 强>
或者就你的例子而言:
var Func1 = function(param1) {
return new Promise(function(resolve) {
resolve();
});
}
var Func = function() {
return Func1(["a", "b"]).then(function() {
console.log("then");
}.bind(this));
};
var Func2 = function() {
Func().then(function () {
console.log("then");
}.bind(this))
.then(function() {
console.log("then chain");
});
};
Func2();
<强> Working example. 强>
答案 1 :(得分:0)
此:
Func2 = function(){
//something
this.Func()
.then(_.bind(function () {
//something
}, this))
}, this));
};
无效的JavaScript。计算闭合花括号的开放花括号。所以最后一个语句会出错。如果您想要一个.then()
链
Func2 = function(){
//something
this.Func()
.then(_.bind(function () {
//something
}, this))
.then(someOtherFuncName)
.then(function() {
console.log("It's a...");
})
.then(function() {
console.log("..CHAIN REEEAAACTIONNNN");
});
};