What causes the parameter to become invalid when passed through a closure?

Is there a way for Fn1 to access the parameter "foo" in the code snippet using closure without adding a new parameter in Fn3?

const Fn1 = (txt) => {
  console.log(txt);
}

const Fn3 = (fn, num) => {
  return () => {
    fn(); // undefined
    console.log(num) // 7
  }
}

const Fn2 = Fn3(Fn1, 7);

Fn2("foo"); // undefined, 7

Answer №1

Make sure to include the following argument:

const functionThree = (fn, num) => {
  return (argument) => {
    fn(argument);
    console.log(num);
  }
}

const functionTwo = functionThree(functionOne, 5);

functionTwo("bar");

Similar questions

If you have not found the answer to your question or you are interested in this topic, then look at other similar questions below or use the search

The failure within the internal request resulted in the failure of the main request

I develop a Jquery Promise with the following structure: request1() .then(response => {}) .then( () => { request2().done(response => {}) } .fail(err => {}); In the done and fail blocks, I implement code to "unblock" the scre ...

Update the CURLOPT_URL parameter to accept user input

As someone new to coding, I have a question about using the CURLOPT_URL function in PHP. How can I input a NIK number and retrieve data from this URL: ? Any help would be appreciated, thank you! php $curl = curl_init(); curl_setopt_array($curl, [ CU ...

If the initial hidden field contains data, then assign the checkbox value to a different hidden input field

I am dealing with a group of 4 checkboxes. Once any two checkboxes have been checked, their values are duplicated into two hidden input fields. The value of the first checked checkbox is copied to the first input with id="checkedBox1" Now, I am trying t ...

Can users' data be securely stored in the session/history using ReactJS?

I recently inherited a React application from a previous developer, and while I'm still getting the hang of how React works, I am surprised to see that user data is being stored in the session history. This raises some concerns for me: const { ...

Effective strategies for efficiently managing a multitude of key codes within an event handler?

This might lean towards a pure JS question, but I'm including Angular2 as well in case any developers with Angular expertise have alternative techniques for this While developing an angular2 application, I'm implementing a keydown event handler ...

Creating an animated time-based scrollable bar chart in javascript

As someone who is new to JavaScript and charting, I am seeking assistance with a specific task. Despite browsing various JavaScript charting libraries and examples, none seem to address my issue: My goal is to generate dynamic stacked bar charts, as depic ...

Creating data for a sunburst chart using Javascript

I am looking to create a dynamic sunburst chart using echarts, specifically with a children -> grandchildren structure. I found inspiration from this example on the Echarts website. Initially, the data I received from the backend was in a flat format. c ...

Performing an AJAX form submission in jQuery with the presence of two submit buttons

Currently, I am working on achieving a particular functionality in PHP. I have a form set up like this: <form method="post" id="form_1" action="php.php"> <input type="submit" value="add" name="sub"/> <input type="submit" value="envoi" name ...

Having trouble locating a module in Angular2 and SystemJS while constructing a module loader

What's the Situation Here? Currently, I'm immersed in a project that involves SystemJS, Angular2, and @ngrx/store. My current focus is on developing a basic module loader. Here's how it works: I create a "module" in its own folder, named ...

Define class attributes within a TypeScript callback function

I have encountered an issue with my method involving a subscription to an event from a pub sub messaging service. The problem arises when I attempt to define a class property within the callback function, only to find that the property returns as undefin ...

Encounter the error message "Socket closure detected" upon running JSReport in the background on a RHEL system

I'm encountering an issue with JSReport at www.jsreport.net. When I run npm start --production in the background, everything seems to be working fine. But as soon as I close this session, an error pops up: Error occurred - This socket is closed. Sta ...

Using the setTimeout function with asynchronous tasks

I have a situation where I need to introduce a 5000ms delay before firing an asynchronous function. To accomplish this, I attempted to utilize the setTimeout() method. This async function is called within a loop that runs multiple times, and each time it i ...

Developing an Array in JavaScript

How can I convert a variable created from a title attribute with tile="Red, Blue" into an array with two values: "Red" and "Blue"? ...

What is the best way to assign a URL to an image source using a JavaScript variable?

I am working on a script that displays different image URLs based on the time of day using an if-else statement. I want to dynamically load these images in an img src tag so that a different picture is loaded for each time of day. I have defined variables ...

How to disable map zoom controls in react-leaflet

Currently, I am developing a react-leaflet application project and facing an issue with separating the zoom control from the map itself. This is a similar concern that was addressed in a vanilla Leaflet context on this link. Now, I am attempting to achieve ...

What is the significance of placing items in a list box? Can you explain the statement "opt as opt for opt in months" in the context of AngularJS?

Visit this link for an AngularJS listbox example Displayed below is the code snippet: <select style="width: 100%;" size="7" ng-model="currentItems" multiple ng-multiple="true" ng-options="opt as opt for opt in months"> </se ...

Looking to extract the content from a div element without including the content of any nested divs, using jQuery and CSS selectors

Here is a div block: <div class='contatiner'> <div class='inner-div'>this is inner content</div> this is outer content </div> Below is the jQuery code being used: $(".container *:not(.inner-div)").h ...

receiving onPaste or onChange events within a component that generates input fields

My goal is to achieve the following functionality: <MyTextInput onChange={console.log("Change")} /> This particular component serves as a container for <input type="text" /> without triggering any action when text is typed (the purpose of usi ...

Troubleshooting the NestJS @InjectModel() dependency issue: Solutions and Fixes

userLink.api.ts import { Prop, Schema, SchemaFactory } from '@nestjs/mongoose'; import { Document, Types } from 'mongoose'; import { User } from 'src/users/schemas/users.schema'; export type UserLinkDocument = UserLink & ...

Transfer information via query or retrieve from storage in Vue

When considering sending a data variable to another component, is it more efficient to send it via query using a router or save the data in-store? Which method would be more optimal? router.replace({ name: 'routerName', query: { param ...