草庐IT

异步异常

全部标签

javascript - 为什么在未声明的对象属性的情况下不会出现引用异常?

这个问题在这里已经有了答案:Whydoesreferencingundeclaredvariablesthrowareferenceexceptionbutreferencingundeclaredpropertiesdoesn't?(1个回答)关闭5年前。在JS中,对未声明的变量进行读取访问会导致引用异常。我尝试了以下代码:varobj={};console.log(obj.v1);这打印未定义console.log(v2);虽然这会抛出异常。不同行为的原因是什么?由于v1和v2均未声明,我预计这两种情况都会出现异常。编辑:更令人困惑的是,如果v2在全局范围内声明,它将成为windo

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 - 异步函数作为回调

我刚开始使用async/await,对它与回调的交互方式感到困惑。例如,fooMethod(function(){returnPromise.resolve("foo");});对比fooMethod(asyncfunction(){//addasynckeywordreturn"foo";});必须以特定方式编写fooMethod才能将async函数作为回调处理吗?如果fooMethod是一个公共(public)库,我怎么知道向函数添加async关键字是安全的?跟进快速路由器,app.get('/foo',function(req,res){returnres.send("foo")

javascript - 异步等待中的 try catch 问题

我在asyncawaittrycatchblock中苦苦挣扎了几天。asyncfunctionexecuteJob(job){//necessaryvariabledeclarationcodeheretry{do{letprocedureRequests=awaitProcedureRequestModel.find(filter,options);//doingprocesshere...}while(fetchedCount我在这个异步函数中的trycatch是否正确?这就是我创建自定义错误类并全局导出的方式。//error.jsfileclassQueueErrorextend

javascript - 让 <iframe> 异步工作

是否有一篇好文章或如何让iframe或框架与每个页面异步工作?我有一个底部/固定的div包裹在jquery中,可以在包含mp3播放器的悬停时向上滑动。我用iframe引用了播放器。我渲染得很好,但是如果不在页面刷新或导航到另一个页面时重新加载,它怎么能继续播放呢?我希望它固定在每个页面的底部并且不刷新地连续播放。我尝试将iframe放在每个页面中,但仍然没有用。有任何想法吗?谢谢。 最佳答案 如果它必须留在浏览器中(不是下载应用程序或在音乐/视频播放器中读取流),唯一的方法应该是不要真正更改页面,并加载必须使用ajax或javasc

javascript - WPF - 调用 javascript 函数时出错 - 未知名称。 (来自 HRESULT : 0x80020006 (DISP_E_UNKNOWNNAME)) 的异常

我在我的wpf应用程序中使用“WebBroswer”来呈现Googlemap。因此,我使用C#代码中的一些参数调用Pan(x,y)JavaScript方法。但我收到以下错误。Unknownname.(ExceptionfromHRESULT:0x80020006(DISP_E_UNKNOWNNAME))我的Window2.xaml文件:Button我的Window2.xaml.cs文件:namespaceTest{//////InteractionlogicforWindow2.xaml///publicpartialclassWindow2:Window{publicWindow2(

javascript - 为什么框架内的异常在 qUnit 中得不到通知?

我注意到当测试的后面部分发生异常时,qUnit不会发出任何通知。例如,在test()中运行它:stop();functionmyfun(ed){console.log('resumed');start();//Resumequnitok(1,'enteredqunitagain');ok(ed.getContent()=='expectedcontent')//在页面的内部iframe中会引发异常(TypeError:ed.getContentisnotafunction),但Qunit状态区域中没有任何内容说明这一点。我看到0个失败。(R是内部iframe,此处使用技术:http:/

javascript - 如何在 Google Chrome Canary 中打开未捕获异常时暂停?

在这篇文章中,它讨论了在未捕获的异常上打开暂停。https://developer.chrome.com/devtools/docs/javascript-debugging我只能在Chrome和Canary中看到捕获异常时暂停。我使用的是ChromeCanary版本43.0.2344.2canary(64位)。我收到一个UncaughtSyntaxError:Unexpectedtoken:,sourcingtoalocation(e.g.VM272)并且如果没有调用堆栈的踪迹就很难追踪。我搜索了一下,发现可以添加>window.onerror=function(){debugger