下面的函数 underbar 函数被我的同行重写了,如下所示:
var once = function(func) {
var alreadyCalled = false;
var result;
return function() {
if (!alreadyCalled) {
result = func.apply(this, arguments);
alreadyCalled = true;
}
return result
};
};
Run Code Online (Sandbox Code Playgroud)
我是这样解释的。它是一个接受另一个函数并返回另一个函数的函数。如果alreadyCalled则false设置result = func.apply(this,arguments)
有人可以帮助我以简单的方式理解func.apply(this,arguments)这个函数的上下文中正在做什么吗?我似乎想不通!
从中删除异步等待
React.useEffect(async () => { await something},[]);
Run Code Online (Sandbox Code Playgroud)
然后它的工作原理只是删除异步等待
React.useEffect(() => { something},[]);
Run Code Online (Sandbox Code Playgroud)
我知道您的代码不同,但我遇到了同样的问题,我从 useEffect 中使用的所有项目中删除了异步,并且我不再看到该错误
每个函数都有两个隐式参数:this和arguments。
applyFunction 对象上的方法允许您使用显式设置的参数来调用它。
所以这里会发生的是,你得到一个包装另一个函数的函数,当你调用它时,它会将参数传递给原始函数。它还会跟踪是否被调用及其结果。
| 归档时间: |
|
| 查看次数: |
11938 次 |
| 最近记录: |