小编def*_*ull的帖子

var self = this?

使用实例方法作为事件处理程序的回调改变的范围this"我的实例""无论只是调用的回调".所以我的代码看起来像这样

function MyObject() {
  this.doSomething = function() {
    ...
  }

  var self = this
  $('#foobar').bind('click', function(){
    self.doSomethng()
    // this.doSomething() would not work here
  })
}
Run Code Online (Sandbox Code Playgroud)

它有效,但这是最好的方法吗?这对我来说很奇怪.

javascript jquery closures scope

180
推荐指数
4
解决办法
10万
查看次数

如何链接ajax请求?

我必须与远程api进行交互,迫使我链接请求.这是异步模式下的回调 - 地狱:

// pseudocode: ajax(request_object, callback)
ajax(a, function() {
  ajax(b(a.somedata), function() {
    ajax(c(b.somedata), function() {
      c.finish()
    }
  }) 
})
Run Code Online (Sandbox Code Playgroud)

它在同步模式下更具可读性:

sjax(a)
sjax(b(a.somedata))
sjax(c(b.somedata))
c.finish()
Run Code Online (Sandbox Code Playgroud)

但是Sjax是邪恶的:)我该怎么做,在一个漂亮的不那么邪恶和可读的方式?

javascript jquery asynchronous

29
推荐指数
3
解决办法
1万
查看次数

借助jersey异步传输大型响应

我想允许客户端(包括非常慢的客户端)从JAX-RS(球衣)Web服务下载大文件,但我遇到了麻烦。似乎JAX-RS中的异步功能不支持此功能。

  • AsyncResponse如果您必须等待资源在服务器端变为可用,则可以解决该问题,但是仅允许您调用 AsyncResponse.resume(Object)一次。之后,响应将被正常处理。速度慢或恶意的客户端将阻塞工作线程,直到所有字节传输完毕。这里没有异步IO。
  • ChunkedOutput在jersey中,将块存储在无限制的内存队列中,并且不提供任何公共接口来检查该队列的大小。它是为缓慢的小块数据流而设计的。足够慢的客户最终会导致失败OutOfMemoryError
  • StreamingOutput根本不是异步的。该StreamingOutput.write(OutputStream)方法应该阻塞直到写入所有字节。
  • Servlet 3.x API确实支持我所需要的,但是我找不到HttpServletRequest.startAsync在不破坏jerseys内部结构的情况下从JAX-RS请求处理程序内进入servlet级别()的方法。->IllegalStateException

我没有看到明显的解决方案吗?

java asynchronous servlets jax-rs jersey

6
推荐指数
1
解决办法
2972
查看次数

与开罗的大图像

我必须用cairo渲染一个非常大的图像(>50.000²像素).为了做到这一点而不耗尽内存我一个接一个地渲染图像的部分(<1.000²像素),然后将它们合并在一起.

  1. 创建1000x1000曲面
  2. 转换为当前部分的位置
  3. 绘制图像(使用pycairo调用绘图指令)
  4. 将图像渲染/保存到文件(cairo_surface_write_to_png)
  5. 重复下一部分

因为cairos剪切算法比我自己更快,所以第三步绘制整个图像,即使只有一部分是可见的.大多数CPU在步骤3中使用(通过python).大部分内存用于步骤4(通过cairo).

有没有办法加快速度?像这样的东西?

  1. 创建1000x1000曲面
  2. 画图像
  3. 将所有内容移动到当前部件的位置
  4. 将图像渲染/保存到文件
  5. 用下一部分重复3

要么

  1. 创建50000x50000曲面
  2. 画图像
  3. 仅将图像的当前部分渲染/保存到文件
  4. 用下一部分重复3

python cairo

5
推荐指数
1
解决办法
918
查看次数

在MySQL中减少?

我有主题(id*)和标签(id*,name)和链接表topic_tags(topicFk*,tagFk*).

现在我想选择每个主题,它包含所有好的标签(a,b,c),但没有坏标签(d,e,f).

我怎么做?

mysql sql

2
推荐指数
1
解决办法
6117
查看次数

标签 统计

asynchronous ×2

javascript ×2

jquery ×2

cairo ×1

closures ×1

java ×1

jax-rs ×1

jersey ×1

mysql ×1

python ×1

scope ×1

servlets ×1

sql ×1