parallel.js icon indicating copy to clipboard operation
parallel.js copied to clipboard

"ReferenceError: list is not defined": The outside variable cannot be used/recognized during mapping.

Open zhengger opened this issue 3 years ago • 2 comments

I want to push value to variable list during mapping. It ends in the error "ReferenceError: list is not defined". I'm using typescript and below is my code.

import Parallel from 'paralleljs';
import { performance } from "perf_hooks";
import * as _ from "lodash";

const l = _.range(10,20);
const p = new Parallel(l);

const log = function () { console.log(arguments); };
const current_encode_Time_before = performance.now();
// One gotcha: anonymous functions cannot be serialzed
// If you want to do recursion, make sure the function
// is named appropriately

const list: Array<number> = [];  // I want to push new value to list during mapping 

function fib(n: number): number{
    let num: number = 0;
    num = n < 2 ? 1 : fib(n - 1) + fib(n - 2);
    list.push(num);
    return num;
};

p.map(fib).then(() => {
    const current_encode_Time_later = performance.now();
    console.log(
        "Parra: Test_Time difference",
        (current_encode_Time_later - current_encode_Time_before) / 1000
    );
});


The error is:

ReferenceError: list is not defined
    at fib (eval at <anonymous> (/Users/zhen/dev/simple/node_modules/[email protected]@paralleljs/lib/eval.js:7:5), <anonymous>:4:5)

Thanks a lot!

zhengger avatar Aug 30 '21 17:08 zhengger

@zhengger did you resolve this?

far11ven avatar Dec 16 '21 09:12 far11ven

@zhengger did you resolve this?

Not yet.

zhengger avatar Dec 16 '21 14:12 zhengger