Да, вам нужна область видимости variable
в цикле и передать ее лямбда таким образом:
List<Func<int>> actions = new List<Func<int>>();
int variable = 0;
while (variable < 5)
{
int variable1 = variable;
actions.Add(() => variable1 * 2);
++variable;
}
foreach (var act in actions)
{
Console.WriteLine(act.Invoke());
}
Console.ReadLine();
Вы ожидаете аргумент https в getHttpsRequest
, но вы не передаете это функции, и, следовательно, он дает вам неопределенный внутри функции, даже если вы экспортировали ее извне. Либо вы удаляете этот аргумент, либо называете его по-другому
var https = require('https');
module.exports = function getHttpsRequests (http) {
https.get('google.com', function (res) {
console.log("statusCode: ", res.statusCode);
console.log("headers: ", res.headers);
res.on('data', function (d) {
process.stdout.write(d);
});
}).on('error', function (e) {
console.error(e);
});
}
В вашем getHttpsRequests
вы передаете аргумент https
, который переопределит родителя https
. Удалите аргумент https
из вашей функции,
module.exports = function getHttpsRequests (){
https.get('google.com', function (res) {
console.log("statusCode: ", res.statusCode);
console.log("headers: ", res.headers);
res.on('data', function (d) {
process.stdout.write(d);
});
}).on('error', function (e) {
console.error(e);
});
}