Not allowing multi-line lambdas is beneficial for code readability. If your lambda needs multiple lines, you should write a function.
Sure, you "should" use asyncio instead of promises but honestly it has its own problems, mostly in that it requires the rest of your legacy code base to also be async.