- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我怎样才能将 deferred ‘扔’到 react 器中,以便它在路上的某个地方得到处理?
情况
我有 2 个程序在本地主机上运行。
当有人连接到webservice时,需要向jsonrpc服务发送查询,等待它返回结果,然后在用户的web浏览器中显示结果(返回jsonrpc调用的值).
我似乎无法弄清楚如何返回延迟的 jsonrpc 调用的值。当我使用浏览器访问 Web 服务时,我收到 HTML 500 错误代码(未返回任何字节)和值:< Deferred at 0x3577b48 >。
它返回延迟对象而不是回调的实际值。
在询问之前,我已经环顾四周并尝试了很多不同的变体。
from txjsonrpc.web.jsonrpc import Proxy
from twisted.web import resource
from twisted.web.server import Site
from twisted.internet import reactor
class Rpc():
def __init__(self, child):
self._proxy = Proxy('http://127.0.0.1:30301/%s' % child)
def execute(self, function):
return self._proxy.callRemote(function)
class Server(resource.Resource):
isLeaf = True
def render_GET(self, request):
rpc = Rpc('test').execute('test')
def test(result):
return '<h1>%s</h1>' % result
rpc.addCallback(test)
return rpc
site = Site(Server())
reactor.listenTCP(4000, site)
print 'Running'
reactor.run()
最佳答案
您在这里遇到的问题是网络的 IResource
是一个非常古老的界面,甚至早于 Deferred
。
解决您的问题的快速方法是使用 Klein ,它围绕 twisted.web 提供了一个非常方便的高级包装器,用于编写 Web 应用程序,除其他外,在整个 API 中为 Deferred
添加了大量处理。
解决它的稍微迂回的方法是 read the chapter of the Twisted documentation专门针对 twisted.web 中的异步响应。
关于python - Twisted:WAITING延迟到 'finish',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19256965/
我正在使用下面的代码来使用 mach_wait_until() 等待指定的时间段(以纳秒为单位)。 private func startTimerAndResume(){ let idealN
在实时系统的背景下,迟到、迟到、松懈和临界之间有什么区别? 最佳答案 这是一个由 3 部分组成的令人困惑的问题。 (你为什么不知道谷歌?) 第 1 部分迟到和迟到:迟到是完成时间减去截止日期;积极的迟
在实时系统的背景下,迟到、迟到、松懈和临界之间有什么区别? 最佳答案 这是一个由 3 部分组成的令人困惑的问题。 (你为什么不知道谷歌?) 第 1 部分迟到和迟到:迟到是完成时间减去截止日期;积极的迟
我正在使用 asp.net mvc razor该页面必须显示一个很长的列表。电话簿员工 - 约 500 人。由于实体太多,页面加载速度太慢。如何通过后台加载前 50 个条目,然后加载其他 450 个条
let currComp = this; let projects = [] let dataArr = [] async function getData() { let getProje
我是一名优秀的程序员,十分优秀!