## Try this
If this is not work, you have to consider modifying the source code.

    import bpy

    def run_every_01_sec():
        if RETURN in ({'CANCELLED'}, {'FINISHED'}):
            print("op end")
            bpy.app.timers.unregister(run_every_01_sec)
        else:
            print("op running")
        return 0.1

    RETURN = bpy.ops.object.bake_image()

    bpy.app.timers.register(run_every_01_sec)