Нет.Но не потому, что синтаксис не поддерживается, потому что это логически невозможно: LOAD () выполняется в запросе http, отличном от того, в котором будет выполняться лямбда, и, следовательно, последний будет неопределенным.Более того, для выполнения обратного вызова ajax вызываемая функция должна иметь имя, которое не может быть лямбда-выражением.Мы могли бы придумать креативное использование кеша, чтобы LOAD сохранял лямбда в кеше:
def callback():
""" a generic callback """
return cache.ram(request.args(0),lambda:None,None)(**request.vars)
def LOAD2(f,vars={}):
""" a new load function """
import uuid
u = str(uuid.uuid4())
cache.ram(u,lambda f=f:f,0)
return LOAD(request.controller,'callback',args=u,vars=vars,ajax=True)
def index():
""" example of usage """
a = LOAD2(lambda:'hello world')
return dict(a=a)
Но это будет работать только с cache.ram и потребует периодической очистки кеша.