var some = 100;
var param1 = 1;
func1(param1, function(res1) {
var param2 = res1 + some;
func2(param2, function(res2) {
// ...
});
});
$some = 100;
$param1 = 1;
func1($param1, function($res1) use ($some) {
$param2 = $res1 + $some;
func2($param2, function($res2) {
// ...
});
});
в питоне в качестве анонимных функций есть только lamba, на которые есть очень жесткие ограничения, например, что их тело может содержать только одно выражение, т.е. простым языком - внутри лямбды не может быть очень много логики. поэтому для более сложных конструкций нужно создавать именованые функции, например:
some = "hello"
def func_1():
print some
one_more = "world"
def func_2():
print some, one_more
def func_3():
print "hello world"
return func_99("bla-bla", func_3)
return func_100("bla-bla", func_2)