第 12 章《事件》勘误

158 页

processTimeEvents 函数的定义中, else 语句应该对齐的是:

if retval == AE_NOMORE:

语句, 而不是:

if time_event.when <= unix_ts_now()

语句, 修正后的定义应该为:

def processTimeEvents():

    # 遍历服务器中的所有时间事件
    for time_event in all_time_event():

        # 检查事件是否已经到达
        if time_event.when <= unix_ts_now():

            # 事件已到达
            # 执行事件处理器,并获取返回值
            retval = time_event.timeProc()

            # 如果这是一个定时事件
            if retval == AE_NOMORE:

                # 那么将该事件从服务器中删除
                delete_time_event_from_server(time_event)

            # 如果这是一个周期性事件
            else:

                # 那么按照事件处理器的返回值更新时间事件的 when 属性
                # 让这个事件在指定的时间之后再次到达
                update_when(time_event, retval)

感谢 zhkzyth 反馈这个错误。