@bjarthur70 You should use a next_tick_callback as described here:
Although there was some question previously, I would say now that the expected behavior is firmly established that changes are only ever synchronized at the end of the function. Now that Bokeh 2.0 will soon be python >= 3.6 only, would like to explore the possibility of allowing await statements in the middle of calbacks for situations like this. But for now, next_tick_callback is the answer.