                 # 将二维码的查询参数增补至请求对象查询参数中，在当前进程内处理。
                 else if scan_handler = scan_handlers[name]
                   _(req.query).extend(query)
-                  scan_handler(req, res, ->)
-
+                  async.eachSeries scan_handler, (handler, callback) ->
+                    handler req, res, callback
+                  , ->
                 # 未注册处理句柄时，向微信端响应`OK`。
                 else res.ok()
 

          # 3. `桌面`回掉：模拟成桌面端注册回调方法。
          mobile  = reply req, message.id
          desktop_callback = -> res.send [message.msg_id].concat Array::slice.call arguments
          scan_handler req, mobile, desktop_callback

        # 否则（有桌面端监听扫码结果，服务器端未定义如何处理时），
        # （默认）向桌面端发送扫码用户。

                # + 如注册了取消订阅处理句柄，使用该句柄处理；
                # + 否则响应`200`。
                when 'unsubscribe'
                  async.eachSeries @unsubscribe_handler, (handler, callback) ->
                    handler req, res, callback
                  , ->
                    res.ok()

                # 收到点击按钮消息时，
                when 'click'
                  if handlers = click_handlers[req.event_key]
                    async.eachSeries handlers, (handler, callback) ->
                      handler req, res, callback
                    , ->
                  else res.ok()

                # 如为二维码扫描事件，
