### Body

Currently when you use multiple-outputs in decorator and it gets None value, it crashes.

As explained in https://github.com/apache/airflow/issues/32553 and workaround for ShortCircuitOperator has been implemented here:  https://github.com/apache/airflow/pull/32569 

But a more complete fix for multiple-outputs handling None is needed. 

### Committer

- [X] I acknowledge that I am a maintainer/committer of the Apache Airflow project.
nonlocal result
            result = a
        src = up1()
        s = up2(src)
        down(s)
    dr: DagRun = dag_maker.create_dagrun()
    decision = dr.task_instance_scheduling_decisions(session=session)
    assert len(decision.schedulable_tis) == 1  
    decision.schedulable_tis[0].run(session=session)
    decision = dr.task_instance_scheduling_decisions(session=session)
    assert len(decision.schedulable_tis) == 1  
    decision.schedulable_tis[0].run(session=session)
    decision = dr.task_instance_scheduling_decisions(session=session)
    assert len(decision.schedulable_tis) == 1  
    decision.schedulable_tis[0].run(session=session)
    assert result == uri
def test_teardown_trigger_rule_selective_application(dag_maker, session):
    with dag_maker(session=session) as dag:
        @dag.task
        def my_work():
            return "abc"
        @setup
        @dag.task
        def my_setup():
            return "abc"
        @teardown
        @dag.task
        def my_teardown():