我意识到这可能是一个小学问题,但
在以下代码(不是全部代码)中,我将参数传递给下一个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
。
我想知道为什么它不起作用,我不能再次传递参数并使用它吗?
答案 0 :(得分:3)
您正在用参数遮盖lastCursorResult
。您需要使函数不带任何参数:
console.log(lastCursorResult);
const runQuery = () => {
console.log(lastCursorResult);
}
runQuery();
或通过lastCursorResult
作为参数:
console.log(lastCursorResult);
const runQuery = lastCursorResult => {
console.log(lastCursorResult);
}
runQuery(lastCursorResult);