这次对话今天开始进行,我还不能完全理解其中的区别,到目前为止,我的Google搜索一直没有结果。
工作中使用的示例是
DoSomethingFunction()。then(function(){ DoSomethingElse(); });
和
DoSomethingFunction()。then(DoSomethingElse());
对我来说,我看第一个,它是一个匿名函数,因此将被调用并在其中,这是我们要调用的函数,但这就是为什么我使用了第二个版本,它仅在不包装的情况下调用该函数在一个单独的功能中。
有人可以向我解释差异吗?
JavaScript中的函数是对象,并且可以像其他任何对象一样传递。DoSomethingElse
是可以使用执行的功能对象DoSomethingElse()
。
.then
需要一个函数对象,因此以下代码仅执行该函数并返回其值,或者undefined
如果什么都不返回:
// this is wrong, unless `DoSomethingElse` returns a function
DoSomethingFunction().then(DoSomethingElse());
下面的代码传递一个匿名函数(这就是所.then
期望的一个函数),然后在DoSomethingElse
内部执行。
DoSomethingFunction().then(function(){
DoSomethingElse();
});
以下将函数对象传递给then
,并执行与上面相同的操作:
DoSomethingFunction().then(DoSomethingElse);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句