Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用Sencha Touch 2的网络工作者_Javascript_Extjs_Sencha Touch 2_Web Worker - Fatal编程技术网

Javascript 使用Sencha Touch 2的网络工作者

Javascript 使用Sencha Touch 2的网络工作者,javascript,extjs,sencha-touch-2,web-worker,Javascript,Extjs,Sencha Touch 2,Web Worker,前提:有Java背景的完整Sencha touch/Js noob-(5天) 有可能将HTML5网络工作者与Sencha Touch结合使用吗?我的场景是,我有一个用Sencha Touch 2制作的应用程序,用phone gap打包,在其中一个场景中,一个控制器点击一个按钮,发出一个API调用,使UI处于不活动状态一点-我理想地希望将其移动到第二个线程,并尽可能保持UI的响应性,但是由于JS是单线程的,所以我想利用HTML5WebWorkers来实现SenchaTouch。我找到了插件,但我可

前提:有Java背景的完整Sencha touch/Js noob-(5天)


有可能将HTML5网络工作者与Sencha Touch结合使用吗?我的场景是,我有一个用Sencha Touch 2制作的应用程序,用phone gap打包,在其中一个场景中,一个控制器点击一个按钮,发出一个API调用,使UI处于不活动状态一点-我理想地希望将其移动到第二个线程,并尽可能保持UI的响应性,但是由于JS是单线程的,所以我想利用HTML5WebWorkers来实现SenchaTouch。我找到了插件,但我可以将其与Sencha Touch 2一起使用吗?如果没有,我还有什么其他选择。请注意,这是针对使用Sencha touch的移动/平板电脑开发人员,而不是针对台式机的extJS。

我从您的问题中了解到,您希望使用webworkers呈现UI,对吗? 我认为这是不可能的,因为webworkers的范围非常有限。以下是网络工作者可以访问的内容列表:

  • 导航器对象
  • 位置对象(只读)
  • XMLHttpRequest
  • setTimeout()/clearTimeout()和setInterval()/clearInterval()
  • 应用程序缓存
  • 使用importScripts()方法导入外部脚本
  • 产生其他网络工作者
以下是网络工作者无法访问的内容列表:

  • DOM(它不是线程安全的)
  • 窗口对象
  • 文档对象
  • 父对象
下面是WebWorker用例列表:

  • 预取和/或缓存数据以供以后使用
  • 代码语法突出显示或其他实时文本格式
  • 拼写检查器
  • 分析视频或音频数据
  • Web服务的后台I/O或轮询
  • 处理大型数组或庞大的JSON响应
  • 图像滤波
  • 更新本地web数据库的多行
有关网络工作者及其环境的更多信息:

谈到我的扩展:我认为它不适合Sencha,因为它使用Ext结构和类

最后,我不知道网络工作者的任何Sencha UX

更新(2013/03/20)


现在也适用于Sencha Touch

我所拥有的是,我有一个进行API调用的列表,所以当我点击加载列表的按钮时,UI线程进行此调用,UI挂起。是否有一种方法可以加载列表项,因为它们来自使用web workers的后台工作线程。?在森查触摸。我还假设extJs和senchatouch携手并进,我可以使用这些webworkerclasses@Wilk. 您的web worker是否在单独的线程中运行?我正在使用演示中的webworker0,并使用webworker0.send('compute')调用其计算,然后在compute()函数中下载。但用户界面仍然挂起?