相关疑难解决方法(0)

调度字典,但将不同的参数传递给函数

我正在像这样在python中使用调度模式....

    ok = parse_qsl(urlparse(u).query, keep_blank_values=True)

    eventType = (ok[9][1])
    nName = (ok[10][1])
    hName = (ok[11][1])
    cName = (ok[12][1])

    def newChannel(cName):
        queue = j.queue(cName)
        r = queue.add_subscribers(*[subscriberCreateChanTable, subscriberSortScenes])

    def newNetwork(hName):
        queue = j.queue(hName)
        r = queue.add_subscribers(*[subscriber1a])

    def loginError(nName):
        pass

    action = {'newChannel': newChannel,
             'newNetwork': newNetwork , 'loginError': loginError}

    handler = action.get(eventType)
    handler(cname)
Run Code Online (Sandbox Code Playgroud)

如何将不同的函数参数传递给映射的函数,因此,如果eventType =“ newChannel”,则newChannel函数将使用cname进行调用,但是如果eventType =“ newNetwork”,则如何使用hname变量来调用它。

只是调用handler(hname)?

    handler(hname)
    handler(cname)
    handler(nName)
Run Code Online (Sandbox Code Playgroud)

python design-patterns asynchronous event-handling dispatch

1
推荐指数
1
解决办法
1720
查看次数