我正在尝试理解 javascript 的 then 结构(如果我理解正确的话,这可能是一种实现 promise 的简单方法)。我找到的几乎所有答案都是几年前的,从那时起事情似乎有了很大的更新。老实说,我也很难理解有关 promise 的文档,所以我很容易犯一个基本错误。
我有一些测试代码:
function foo(){
this.start = function(){
return {
then: function(callback){
alert("Waiting for this to finish.");
}
}
}
}
var makeItSo = new foo();
makeItSo.start().then( function() {
alert("I waited!");
});
尽管“正在等待完成”会触发,但“我等了!”从来不会。我需要在 foo 函数中更改什么才能使其正常工作?
最佳答案
您没有在“then”函数中调用“callback”,因此运行“I waited”警报的函数永远不会运行。尝试这个。
function foo(){
this.start = function(){
return {
then: function(callback){
alert("Waiting for this to finish.");
callback()
}
}
}
}
var makeItSo = new foo();
makeItSo.start().then( function() {
alert("I waited!");
});
关于Javascript "then"成员函数的 ing 不会触发 '15,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33005106/