Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/450.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 这段代码如何将参数传递给不带参数的回调?_Javascript - Fatal编程技术网

Javascript 这段代码如何将参数传递给不带参数的回调?

Javascript 这段代码如何将参数传递给不带参数的回调?,javascript,Javascript,我正在筛选一些代码,但我不明白这段代码如何能够将参数传递给不带参数的回调 我们从这个对象开始: const oracleEndpoints = { pancake: () => fetchPancake(), lps: () => fetchLP(endpoints.lps), <-- endpoints.lps is an API url }; 这是我不明白的部分: const promises = oracleToIds.keys().map(key =>

我正在筛选一些代码,但我不明白这段代码如何能够将参数传递给不带参数的回调

我们从这个对象开始:

const oracleEndpoints = {
  pancake: () => fetchPancake(),
  lps: () => fetchLP(endpoints.lps), <-- endpoints.lps is an API url
};
这是我不明白的部分:

const promises = oracleToIds.keys().map(key => oracleEndpoints[key](oracleToIds.get(key)));
oracleEndpoints[key]
是一个匿名回调(
()=>fetchPancake()
()=>fetchLP(endpoints.lps)
)和
oracleToIds.get(key)
是一个字符串数组

这个表达式
oracleEndpoints[key](oracleToIds.get(key))
中发生了什么,然后在未经参数化的回调中传递了一个数组


它是如何做到这一点的?

我会仔细检查数组参数是否被任何有意义的东西使用。考虑到您展示的
const-promises
代码的一行中混入了大量嵌套,编写者的混乱很容易导致代码中出现错误


这将导致一个只在应用程序使用中才会出现的错误——如果您要使用函数,JavaScript中不会引发异常。

您能否提供更多关于代码的详细信息,以及如何知道使用参数--
oracleToIds.get(key)
?从我同意你的代码来看,这应该没什么用。
const promises = oracleToIds.keys().map(key => oracleEndpoints[key](oracleToIds.get(key)));