Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/464.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.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 为什么不是';函数中可用的t参数_Javascript - Fatal编程技术网

Javascript 为什么不是';函数中可用的t参数

Javascript 为什么不是';函数中可用的t参数,javascript,Javascript,我意识到这可能是一个小学问题,但是 在下面的代码(不是所有代码)中,我将一个参数传递到下一个然后 .then(cursor => { const lastCursorIdx = cursor.length - 1; queryAfterCursor = cursor[lastCursorIdx]; return queryAfterCursor; }) .then(lastCursorResult => { console.log(lastCursorResult);

我意识到这可能是一个小学问题,但是

在下面的代码(不是所有代码)中,我将一个参数传递到下一个
然后

.then(cursor => {
  const lastCursorIdx = cursor.length - 1;
  queryAfterCursor = cursor[lastCursorIdx];
  return queryAfterCursor;
})
.then(lastCursorResult => {
  console.log(lastCursorResult);
  const runQuery = lastCursorResult => {
    console.log(lastCursorResult);
  }
  runQuery();
})
在第二个
中,然后
参数是
lastCursorResult

当I
console.log
打开此方法时

console.log(lastCursorResult);
它会记录详细信息。但是,当我将它传递给另一个方法
const runQuery
时,
lastCursorResult
是u
ndefined


我想知道为什么它不起作用?难道我不能再次传递参数并使用它吗?

您正在用一个参数跟踪
lastCursorResult
。您需要让函数不接受任何参数:

console.log(lastCursorResult);
const runQuery = () => {
    console.log(lastCursorResult);
}

runQuery();
或传递参数的
lastCursorResult

console.log(lastCursorResult);
const runQuery = lastCursorResult => {
    console.log(lastCursorResult);
}

runQuery(lastCursorResult);

因为您通过定义一个同名参数来隐藏它,然后没有为该参数传递任何值。“当我将其传递给另一个方法时”-您不会传递它。您需要使用lastCursorResult:runQuery(lastCursorResult)调用runQuery,或者使runQuery成为一个没有参数的函数,这样它将在作用域中使用lastCursorResult^^^,例如,它是一个打字错误(投票关闭)。删除参数名(
const runQuery=()=>{console.log(lastCursorResult);};
)或将其传递到
runQuery
runQuery(lastCursorResult);
)。我会选择选项A。“但是,当我将它传递给另一个方法
const runQuery
”-您不会将它传递给
runQuery
。。。您可以不带参数地调用它:
runQuery()明白了,有道理。我知道我会被否决,但对我所失去的东西的好奇心正在折磨着我。