code: def test_cbmt003_chain_with_table(dash_duo):
      # see https://github.com/plotly/dash/issues/1071
      app = Dash(__name__)
      app.layout = html.Div(
          [
              html.Div(id="a1"),
              html.Div(id="a2"),
              html.Div(id="b1"),
              html.H1(id="b2"),
              html.Button("Update", id="button"),
              dash_table.DataTable(id="table"),
          ]
      )
  
      @app.callback(
          # Changing the order of outputs here fixes the issue
          [Output("a2", "children"), Output("a1", "children")],
          [Input("button", "n_clicks")],
      )
      def a12(n):
          return "a2: {!s}".format(n), "a1: {!s}".format(n)
  
      @app.callback(Output("b1", "children"), [Input("a1", "children")])
      def b1(a1):
          return "b1: '{!s}'".format(a1)
  
      @app.callback(
          Output("b2", "children"),
          [Input("a2", "children"), Input("table", "selected_cells")],
      )
      def b2(a2, selected_cells):
          return "b2: '{!s}', {!s}".format(a2, selected_cells)
  
      dash_duo.start_server(app)
  
      dash_duo.wait_for_text_to_equal("#a1", "a1: None")
      dash_duo.wait_for_text_to_equal("#a2", "a2: None")
      dash_duo.wait_for_text_to_equal("#b1", "b1: 'a1: None'")
      dash_duo.wait_for_text_to_equal("#b2", "b2: 'a2: None', None")
  
      dash_duo.find_element("#button").click()
      dash_duo.wait_for_text_to_equal("#a1", "a1: 1")
      dash_duo.wait_for_text_to_equal("#a2", "a2: 1")
      dash_duo.wait_for_text_to_equal("#b1", "b1: 'a1: 1'")
      dash_duo.wait_for_text_to_equal("#b2", "b2: 'a2: 1', None")
  
      dash_duo.find_element("#button").click()
      dash_duo.wait_for_text_to_equal("#a1", "a1: 2")
      dash_duo.wait_for_text_to_equal("#a2", "a2: 2")
      dash_duo.wait_for_text_to_equal("#b1", "b1: 'a1: 2'")
      dash_duo.wait_for_text_to_equal("#b2", "b2: 'a2: 2', None")
  
file_path: dash/tests/integration/callbacks/test_multiple_callbacks.py
imports: import time
  from multiprocessing import Value, Lock
  import pytest
  from dash import Dash, Input, Output, State, callback_context, html, dcc, dash_table
  from dash.exceptions import PreventUpdate
  import dash.testing.wait
label_desc: Use image node_id 3 for calling a global function with example usage: test_cbmt003_chain_with_table(dash_duo) and returns: str,  str, str, str