为什么参数在函数中不可用

时间:2019-12-27 18:10:22

标签: javascript

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

在以下代码(不是全部代码)中,我将参数传递给下一个then

.then(cursor => {
  const lastCursorIdx = cursor.length - 1;
  queryAfterCursor = cursor[lastCursorIdx];
  return queryAfterCursor;
})
.then(lastCursorResult => {
  console.log(lastCursorResult);
  const runQuery = lastCursorResult => {
    console.log(lastCursorResult);
  }
  runQuery();
})

在第二个then中,参数为lastCursorResult
当我在方法开始时console.log时。

console.log(lastCursorResult);

它控制台记录详细信息。但是,当我将其传递给其他方法const runQuery时,lastCursorResult是u ndefined

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

1 个答案:

答案 0 :(得分:3)

您正在用参数遮盖lastCursorResult。您需要使函数不带任何参数:

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

runQuery();

或通过lastCursorResult作为参数:

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

runQuery(lastCursorResult);