假设我在Tornado中异步调用了一个假设很长的http调用:
@tornado.gen.engine
def get():
response = yield asyncHTTPClient.fetch(...)
# Response parsing
body = response.body
...
我无法理解的是,如果asyncHTTPClient.fetch
调用是异步的,并且在另一个线程上处理,并且在“等待”时将执行返回给Tornado,那么当线程继续执行时response
会是空的,直到异步调用完成后再次中断吗
我的困惑来自于这样一个事实,例如在javascript中,在进行异步调用之后,执行线程继续:
function sayHelloAsync(){
// async call
setTimeout(function(){
console.log('Hello')
}, 3000)
// Will be printed first
console.log('Hi')
}
这将打印:
Hi
Hello
我错过了什么
目前没有回答
相关问题 更多 >
编程相关推荐