草庐IT

异步组件

全部标签

javascript - 如何针对后台多个异步请求导致的延迟优化基于 Web 的应用程序?

我正在设计一个基于瘦服务器客户端MVC架构的模块化RIA。目前,该应用程序仅完成了10%,因此合并设计更改还为时不晚。该应用程序的设计方式使其最初加载时占用空间非常小,并且根据用户执行的操作异步获取大量数据。这些数据可能包括存储在我的服务器中的数据以及来自第三方网络服务(包括社交网络和微博服务)的数据。但是我担心的是,是否有可能在后台运行的多个数据量大的ajax请求会使浏览器停止运行?我最近在一些社交内容聚合服务中观察到一些严重的延迟问题,在分析客户端代码后,我惊讶地发现客户端的应用程序占用空间非常小,在300KB以内。但是,当运行该应用程序时,浏览器(Firefox和IE)经常挂起并

javascript - 如何使这个同步递归函数异步

我有一个递归遍历树的javascript函数。它有两个“标志”变量,在函数本身的范围之上设置为false或true,因此如果在递归“walkTree”函数时将标志设置为true一次,则每次递归都会为true.另一方面,for循环也可能存在带有返回值的函数(如果有东西是for的话)。我遇到的问题是当递归太多时我会出错。我想通过使这个递归函数异步来防止这个问题,我试过将for循环内的subwalkTree()调用放到setTimeout中,但我现在遇到的问题是函数的其余部分将在其余异步操作完成之前执行(并可能返回错误的值)。那么我怎样才能使这个异步,同时仍然确保返回正确的值(而不是递归中的

javascript - 浏览器渲染和 javascript 执行的同步/异步特性

我有一些处理需要几秒钟,所以我想在处理过程中添加一个视觉指示器。.processing{background-color:#ff0000;}Processing脚本:$("#mydiv").addClass("processing");//Dosomelongrunningprocessing$("#mydiv").removeClass("processing");我天真地以为类会应用到div上,UI会更新。但是,在浏览器(至少在Firefox中)运行它时,div永远不会突出显示。有人可以向我解释为什么我的div永远不会突出显示吗?添加类,进行处理,然后删除类;用户界面不会在此期间更

javascript - 为什么 JavaScript 在 FireFox 附加组件中比在 FireFox 加载的网页中慢?

我想知道为什么相同的JavaScript代码在FireFox附加组件(使用附加SDK)中比直接在FireFox加载的网页中运行要慢得多。例如,这段代码:functionisPrime(number){vari,prime=true;for(i=2;i在FireFox打开的网页中运行时间不到2秒,但在FireFox附加组件中运行大约需要15秒。我知道代码可以更好,但这只是一个例子来说明它有多慢。为什么FireFox附加组件这么慢?有什么方法可以让它更快(不更改此代码,因为正如我上面所说,它只是一个示例)?更新:好像跟Add-onSDK有关。我做了另一个测试:我在一个不使用附加SDK的附加

javascript - 在 Windows 10 通用应用程序中从 JavaScript 调用 C# 组件

我正在尝试在我的Windows10通用应用程序(JavaScript)中使用Windows运行时组件(C#)。我在Windows8.x商店应用程序中找到了如何做到这一点:https://msdn.microsoft.com/en-us/library/hh779077.aspx但此解决方案不适用于Windows10通用应用程序。类未在JavaScript中注册是抛出异常。WRC代码:namespaceSampleComponent{publicsealedclassExample{publicstaticstringGetAnswer(){return"Theansweris42.";

javascript - 如何将react js组件拆分成多个文件

我试图将每个组件分离到一个单独的文件中以获得更好的模块化。尽管我在索引页上包含了组件jsx文件,但我仍然收到UncaughtReferenceError:TopicsListisnotdefined代码如下:index.htmlReact.jsDemolayout.jsx"usestrict";varLayout=React.createClass({render:function(){return();}});ReactDOM.render(,document.getElementById('main-container'));topic-list.jsx"usestrict";va

javascript - 如何在 Vue.js 中保持可排序数组和组件的顺序

我正在使用Vue.js和Dragula制作一个拖放图block页面。每个图block都包含自己的一组数据,因此每个图block都是一个Vue组件。问题是,一旦我拖放其中一个图block,Vue实例中的DOM元素和数据数组就会失去同步并开始引起问题。只是拖放不会产生问题,但是一旦我拖放某些东西然后尝试删除它,一切都会出错。这是一个fiddle:https://jsfiddle.net/wfjawvnL/13/这是我的HTML,带有组件模板:{{$data|json}}{{name}}Index:{{index}}✗这是我的Vue实例:varvm=newVue({el:'#a

javascript - React-Router Link,如何从另一个组件触发链接上的点击事件

我正在尝试设置一系列React-Router以在特定组件内进行导航。我已对其进行设置,因此链接标签可以正常工作,但我正在尝试将它们设置为如下所示:样式设置如下:PaymentsBillsCharge当前系列的链接看起来像这样(没有样式):option1option2option3HTML(顶部)是用HTML编写的,而不是JSX,但这不是问题所在。我正在尝试将链接组件组合到上面的HTML中,以便选项将触发链接标签的功能。在React文档中我发现了这个:Forcommunicationbetweentwocomponentsthatdon'thaveaparent-childrelatio

javascript - 将秘书 URL 参数广播到试剂组件的正确方法是什么

我正在re-framedefaulttemplate上构建一个应用程序.我有以下秘书路线:(defroute"/users/:id"[](re-frame/dispatch[:set-active-panel:user-panel])我想从我的试剂组件中的URL访问id参数。我发现实现它的唯一方法是将它设置为db。像这样的东西:(defroute"/users/:id"[id](re-frame/dispatch[:set-user-idid])(re-frame/dispatch[:set-active-panel:user-panel])这肯定会污染我的数据库,这种方法对我来说似乎

javascript - Google 自动完成器位置在 Angular 2 的子组件中不起作用

我正在为Googleplacesautocompletor使用googleplace指令.如链接所示,当我在AppComponent中使用此指令时它会起作用,但当我在子组件中使用它时它不起作用。app.routes.tsimport{provideRouter,RouterConfig}from'@angular/router';import{BaseComponent}from'./components/base/base.component';import{DashboardComponent}from'./components/dashboard/dashboard.compon