Variable scope in javascript module
Dmitry Volyntsev
xeioex at nginx.com
Fri Oct 26 09:02:20 UTC 2018
Hi Alex,
Can you, please, share your code?
You can also try to play with njs code in the command line interface.
For example:
njs
interactive njs 0.2.3
v.<Tab> -> the properties and prototype methods of v.
type console.help() for more information
>>function my(){var g = 'init'; console.log(g); (function() {g = 'anon'})(); console.log(g) }; my()
'init'
'anon'
undefined
CLI, is also available in docker
docker run -i -t nginx:latest /usr/bin/njs
> On 26 Oct 2018, at 09:16, alweiss <nginx-forum at forum.nginx.org> wrote:
>
> Hi team !,
> Regarding the sample here :
> https://www.nginx.com/blog/batching-api-requests-nginx-plus-javascript-module/
>
> I have an issue trying to use JS module : variable hoisting and global/local
> scope doesn't behave as expected. When i try to reassign the resp variable
> (as you do after declaring it), the value assigned in the done function is
> not brought outside of the done function to the bacthAPI function.
> So if resp is initialised with 0 and reassign as 1 in the done funtion, at
> the end, resp would = 0.
> I had a look to explanation here
> https://www.sitepoint.com/demystifying-javascript-variable-scope-hoisting/
> and seems to behave differently in nginx implementation of JS.
>
> Would it be some OS settings outside of NGINX preventing this to work as it
> should normally work with javascript ? Any dependency on an OS package ?
>
> Thanks !
> BR
> Alex
>
> Posted at Nginx Forum: https://forum.nginx.org/read.php?2,281699,281699#msg-281699
>
> _______________________________________________
> nginx mailing list
> nginx at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx
More information about the nginx
mailing list