我一直在使用python请求库,最近需要异步发出请求,这意味着我想发送HTTP请求,让我的主线程继续执行,并在调用时调用请求返回.
当然,我是通往grequests库(https://github.com/kennethreitz/grequests),但我对这种行为感到困惑.例如:
import grequests
def print_res(res):
from pprint import pprint
pprint (vars(res))
req = grequests.get('http://www.codehenge.net/blog', hooks=dict(response=print_res))
res = grequests.map([req])
for i in range(10):
print i
Run Code Online (Sandbox Code Playgroud)
上面的代码将产生以下输出:
<...large HTTP response output...>
0
1
2
3
4
5
6
7
8
9
Run Code Online (Sandbox Code Playgroud)
grequests.map()调用显然会阻塞,直到HTTP响应可用.我似乎错误地理解了这里的"异步"行为,而grequest库只是用于同时执行多个HTTP请求并将所有响应发送到单个回调.这准确吗?
我正在尝试在 React/Redux/TS 应用程序中启用 react-codemirror 组件的 linting 插件。正常的 codemirror 工作正常,语法突出显示,行号等。但是,启用 linting 会在左侧为组件的 lint 消息添加额外的填充,但不显示任何消息。
我怀疑它的代码镜像 lint.js 代码没有加载,但我不确定为什么。相关代码片段如下:
import * as CodeMirror from 'react-codemirror';
import '../../../node_modules/codemirror/mode/javascript/javascript';
import '../../../node_modules/codemirror/addon/lint/lint';
import '../../../node_modules/codemirror/addon/lint/javascript-lint';
import '../../../node_modules/jshint/dist/jshint';
...
<CodeMirror
options={{
lineNumbers: true,
readOnly: false,
mode: 'javascript',
lint: true,
gutters: ['CodeMirror-lint-markers']
}}
/>
Run Code Online (Sandbox Code Playgroud)
有没有人能够让这个插件成功运行?
codemirror ×1
gevent ×1
grequests ×1
javascript ×1
python ×1
react-redux ×1
reactjs ×1
typescript ×1