Python 异步屈服不会';不行。使用DHC chrome客户端插件和ajax代码进行测试

Python 异步屈服不会';不行。使用DHC chrome客户端插件和ajax代码进行测试,python,python-2.7,bottle,gevent,Python,Python 2.7,Bottle,Gevent,我有一个api代码片段: @app.route("/do_something", method=['POST', 'OPTIONS']) #CORS is enabled def initiate_trade(): ''' post json some Args: *input ''' if request.method == 'OPTIONS': yield {} else: response.headers['

我有一个api代码片段:

@app.route("/do_something", method=['POST', 'OPTIONS'])
#CORS is enabled
def initiate_trade():
    '''
    post json
    some Args: *input
    '''
    if request.method == 'OPTIONS':
        yield {}
    else:

        response.headers['Content-type'] = 'application/json'
        data = (request.json)
        print data
        for dump in json.dumps(function(input)): yield dump
相应的功能是:

当我运行时,不带gevent.sleep(2),它会像同步返回值一样给出所有内容。但是,如果gevent.sleep(2)未注释,则不会返回任何内容。 怎么了

我认为睡眠会导致延迟,并且“转储”值会在可用时一个接一个地传输

我也不是javascript的家伙,但我能读一些代码。但是如果没有返回服务器代码,即使是ajax也不会收到代码。因此,我假设这否定了客户端代码故障的任何可能性,并且与此代码片段有关

请注意,如果我只是将值返回为

def function(*input):

.
.
    return some_dict
在api方面,我会:

return json.dumps(function(input))
然后,客户端的一切工作正常

return json.dumps(function(input))