草庐IT

有一手

全部标签

javascript - 是否有一种方法可以覆盖 JavaScript 对象以控制 console.log 显示的内容?

我特别想到Chrome,尽管Firebug会很有趣。我试过toString()和valueOf(),但似乎都没有用过。有趣的是,如果我使用一个函数,它会显示函数定义-但如果我添加一个toString()方法,它会显示null!vara=function(){};console.log(a);//output:function(){}a.toString=function(){return'a';};console.log(a);//output:nulla.valueOf=function(){return'v';};console.log(a);//output:null有什么想法吗

javascript - 为什么这个 Sinon 模拟有一个不是函数的模拟方法?

我想在我的coffeescript单元测试中使用测试替身来帮助分离关注点。我正在将sinon与mocha结合使用(在带有konacha的Rails应用程序的上下文中。)我正在尝试在这一点上似乎直接来自thedocumentation的东西,其中有这个模拟用法的例子:varmyAPI={method:function(){}};varspy=sinon.spy();varmock=sinon.mock(myAPI);mock.expects("method").once().throws();PubSub.subscribe("message",myAPI.method);PubSub.

javascript - ES6 - 是否有一种优雅的方式来导入所有命名导出而不是默认导出?

我正在寻找一种优雅的方式来导入所有命名的导出,而不必也导入默认值。在一个文件中,我导出了许多命名常量和一个默认常量://myModule.jsconstmyDefault='mydefault'exportconstnamed1='named1'exportconstnamed2='named2'//manymorenamedexports-otherwisethiswouldnotbeanissue...exportdefaultmyDefault在另一个文件中,我希望有一种优雅的方式仅导入所有命名的导出,而不必导入默认值://anotherFile.js//thisiswhatIw

javascript - EventSource 的响应有一个 MIME 类型 ("text/plain") 而不是 "text/event-stream"

EventSource的响应具有不是“text/event-stream”的MIME类型(“text/plain”)。中止连接。为什么从javascript向servlet发送请求时会出现此错误? 最佳答案 发送前需要设置消息头:response.writeHead(200,{'Content-Type':'text/event-stream','Cache-Control':'no-cache','Connection':'keep-alive'});您可以关注这篇文章了解更多信息:https://www.html5rocks.c

javascript - JavaScript Promise.all 是否有一个在成功和失败时触发的回调

这个问题在这里已经有了答案:Waituntilallpromisescompleteevenifsomerejected(20个答案)关闭6年前。我是不是误解了Promise.all?我在数组中有X个promise,我正在尝试汇总数组的成功/失败比率。这是我认为我知道的:Promise.all采用一系列promise。如果所有的promise都成功,那么.then回调就会运行。如果其中一个promise失败,则调用.catch回调,传入的参数是单个引发错误的值。没有触发回调,这是所有promise的结果,如果有些成功,有些失败。IE。它不能给你一个像(伪代码)[success,fail

javascript - 是否有一个多传输记录器在向控制台报告时保留原始文件中的调用位置?

序言一个已知的库Winston与许多其他用于多传输日志记录的不同库有相同的问题。当其中一种传输方式是console时,调试器控制台(浏览器或Node.js的任何环境)中报告的消息会遗漏非常重要的信息:发起初始调用的位置(开发人员的文件)而不是显示库内的调用位置。在这种情况下,来自不同文件/位置的多个调用都被报告为好像是从同一个地方记录的。尝试过的解决方案我研究了两种方法。一个是在浏览器/Node上推断对console.log的调用位置时的技巧。我发现它可以完成的唯一方法是通过sourcemaps.这是一种允许将缩小的js源映射到原始源并在查看完整源的同时对其进行调试的技术。但是,这假设

javascript - 是否有一种标准/优雅的方法可以在没有 Firebase 的情况下实现类似 Firebase 的 react 对象?

我喜欢Firebase等实时数据库的一点是它们的推送功能。例如,vuefire使拥有self更新对象变得非常简单,而无需串起数百个套接字监听器和回调。这是一个例子:data(){return{books:[]}},created(){axios.get('/books',(books)=>{this.books=books})}为了向其中添加数据库react性,我至少需要3个事件“book-created”、“book-updated”、“book-removed”。Pusher.on('book-created',(book){this.books.push(book)})Pushe

javascript - React 进度元素在 IE10 上有一个错误

为什么在使用React渲染进度元素时,无论我传入的值是什么,IE10(我还没有在IE11及更高版本中检查过)渲染值1?varHello=React.createClass({render:function(){return;}});ReactDOM.render(,document.getElementById('container'));看看这个fiddle-https://jsfiddle.net/co4wz3ft/5/它在Chrome和Firefox中按预期工作。 最佳答案 经过无数次绝望的尝试,我发现颠倒属性的顺序(在val

javascript - 在 CoffeeScript 中,是否有一种 'official' 方法可以在运行时而不是在编译时插入字符串?

我的CS类中有一个选项对象,我想在其中保留一些模板:classMyClassoptions:templates:list:""listItem:"#{foo+bar}"#etc...然后我想在代码中稍后插入这些字符串...但是当然这些被编译为"",而foo是未定义的。是否有官方的CoffeeScript方法可以在运行时使用.replace()执行此操作??编辑:我最终写了一个小工具来帮助:#interpolateastringtoreplace{{placeholder}}keyswithpassedobjectvaluesString::interp=(values)->@repla

javascript - 是否有一个 JavaScript 函数可以让 Google Chrome 进入调试器?

我正在.NET中寻找类似Debugger.Launch()的东西,它以编程方式进入调试器。我不是在寻找一种跨浏览器的方式来做到这一点,谷歌浏览器就足够了。 最佳答案 是的,你需要使用:debugger;脚本将恰好在您放置debugger关键字的行处中断。要查看它,您首先需要打开工具->开发者工具(或按F12),然后从脚本中选择您的文件强>标签。 关于javascript-是否有一个JavaScript函数可以让GoogleChrome进入调试器?,我们在StackOverflow上找到一