草庐IT

try_catch_all

全部标签

javascript - 为什么我的 jest.mock 中的 Promise reject() 会转到 then() 而不是 catch()?

我有两个文件,getItemInfo.js进行API调用,getItemInfo.test.js是相应的Jest测试文件。在测试文件中,我正在模拟由Node模块request-promise触发的http调用。问题在第二个代码块上,被*********包围。基本上为什么reject()错误仍然会在第二个单元测试中进入then()block?//getItemInfo.jsconstrp=require('request-promise');constgetItemInfo=(id)=>{constroot='https://jsonplaceholder.typicode.com/po

javascript - 在 JavaScript 或 jQuery 中是否有等效于 Python 的 all 函数?

在Python中,all()函数测试列表中的所有值是否为真。例如,我可以写ifall(xJavaScript或jQuery中是否有等效的函数? 最佳答案 显然,它确实存在:Array.prototype.every.来自mdn的示例:functionisBigEnough(element,index,array){return(element>=10);}varpassed=[12,5,8,130,44].every(isBigEnough);//passedisfalsepassed=[12,54,18,130,44].every

javascript - 属性检测 : Using 'in' versus trying to access property

不得不提:我知道一点JavaScript,但我不是很深入。一直认为这是检查对象上的属性是否可用的正确方法:if(window.console){//doSomething}昨天我看到了使用这种技术的代码:if('console'inwindow){//doSomething}这两种技术是否等同?还是他们有区别? 最佳答案 没有。他们有区别。第一个检查window.console的值是否为Truthy,第二个检查window中是否存在console属性。假设您创建了一个这样的变量。window.myName="";现在,if(wind

javascript - 有没有一种很好的方法来 Promise.all 具有 promise 属性的对象数组?

如果我有一组promise,我可以简单地使用Promise.all来等待它们。但是当我有一个对象数组时,每个对象都有一些promises的属性,有没有好的方法来处理它?例子:constfiles=urlOfFiles.map(url=>({data:fetch(url).then(r=>r.blob()),name:url.split('/').pop()}))//whattodoheretoconverteachfile.datatoblob?//likePromise.all(files,'data')orsomethingelse 最佳答案

javascript - 为 promise.all 中的每个 promise 设置超时

我能够成功执行Promise.all,并优雅地处理解决和拒绝。然而,有些promise会在几毫秒内完成,有些可能/可能需要一段时间。我希望能够为Promise.all中的每个Promise设置超时,这样它最多可以尝试花费5秒。getData(){varthat=this;vartableUrls=['http://table-one.com','http://table-two.com'];varspoonUrls=['http://spoon-one.com','http://spoon-two.com'];vartablePromises=that.createPromise(ta

javascript - TypeScript/Angular try catch,try block 中的任何错误都不会捕获 block

我正在使用Angular和TypeScript。我已经使用trycatch构造在API调用的情况下进行错误处理。如果在tryblock中发生任何错误,它根本不会进入catchblock。应用程序仅在那里终止。我也尝试过使用throw。这是一个示例代码片段,try{this.api.getAPI(Id).subscribe(//this.apiismyapiserviceandgetAPIispresentthere(data:any)=>{if(data==null){throw'Emptyresponse';}},(error:HttpErrorResponse)=>{console

javascript - npm 脚本 : need to minify all HTML files in folder (and subfolders)

我想使用npmrun脚本缩小文件夹(以及其中的任何文件夹)中的所有.html文件。理想情况下,应覆盖所有.html文件(如果不可能,也可以使用新文件夹)。假定输入文件夹中会有非HTML文件。npmlibraryminimize仅适用于每个文件,但不适用于文件夹。另一个npm库html-minifier确实接受文件夹作为输入,但如果输入文件夹中存在任何非HTML文件,则会失败:html-minifier--input-dir./test1--output-dir./test2--html-5--collapse-whitespace我需要它来缩小我的静态网站的HTML文件。

javascript - 传单绘制删除按钮删除 "clear all"操作

如何从leaflet-draw的删除按钮中删除“全部清除”操作编辑工具栏?我知道你可以删除整个delete按钮,但仍需要删除个别项目。主要是寻找一种方法来防止用户从map中删除每个项目。 最佳答案 编辑工具栏测试按钮处理程序上是否存在removeAllLayers成员。因此,禁用清除所有操作的一种简单但可能很笨拙的方法是在L.EditToolbar.Delete模块上对removeAllLayers进行核对:L.EditToolbar.Delete.include({removeAllLayers:false});newL.Cont

javascript - 你如何冒出错误,以便它们可以在同一个 try/catch block 中被捕获?

我有一个带有抛出错误的函数的对象,myObj={ini:function(){this.f();},f:function(){thrownewError();}};但我只想捕获创建对象的异常try{varo=newmyObj();}catch(err){alert("error!");}看起来我必须到处都有try/catchblock=/以捕获不同函数范围内的错误事件try{myObj={ini:function(){try{this.f();}catch(err){alert("fthrewanerr");}},f:function(){thrownewError();}};}cat

javascript - 内联 Ckeditor : All buttons are disabled

我目前正在尝试向某些文本添加内联ckeditor。没有发生javascript错误,但不幸的是所有工具都被禁用,我无法编辑文本。http://fiddle.jshell.net/5LuyD/有人知道我做错了什么吗? 最佳答案 您缺少的是元素的contenteditable="true"属性。如果您想自定义编辑器(即通过CKEDITOR.inline(element,cfg)运行),请先设置CKEDITOR.disableAutoInline=true;。使用CKEDITOR.disableAutoInline=true;时,所有co