草庐IT

all_logs

全部标签

javascript - JavaScript : How to get resolve value for all promises? 中的 Promise.all

我编写了以下node.js文件:varcsv=require('csv-parser');varfs=require('fs')varPromise=require('bluebird');varfilename="devices.csv";vardevices;Promise.all(read_csv_file("devices.csv"),read_csv_file("bugs.csv")).then(function(result){console.log(result);});functionread_csv_file(filename){returnnewPromise(fu

javascript - 检测 console.log() 调用

我正在尝试为使用console.log()将消息写入JavaScript控制台的调试方法编写测试用例。测试必须检查消息是否已成功写入控制台。我正在使用jQuery。有没有办法将钩子(Hook)附加到console.log()或以其他方式检查消息是否已写入控制台,或关于如何编写测试用例的任何其他建议? 最佳答案 console.log不会记录已记录的消息,也不会发出您可以监听的任何事件。您的测试不可能直接验证其来自JavaScript的输出。相反,您的测试代码需要将console.log替换为一个mock实现,该实现会跟踪日志消息以供

javascript - 为什么 console.log(document.getElementById( 'blah' ))) 在 Chrome 中给出不同的日志消息?

$(document).ready(function(){console.log(document.getElementById('blah'));})我真的很想知道为什么有时我会...其他时候我得到...似乎随机记录不同。 最佳答案 这看起来确实是随机的,至少在Chrome中是这样。如果您想在Chrome控制台中以一种或另一种方式强制使用它,您可以使用console.dir和console.dirxml。console.dirxml将强制输出类似于您的第一个示例,采用xml格式console.dir将像您的第二个示例一样以对象表示

javascript - 如何使用 console.log 省略文件/行号

如今,您可以在Chrome的控制台中编写非常棒的东西。结帐this关联。我也截图了:正如您在屏幕截图中看到的,文件名/行号(VM298:4)写在右侧。是否有可能删除它,因为在我的例子中这是一个很长的名字,或多或少地破坏了我试图在我的控制台中制作的效果? 最佳答案 这很容易做到。您需要将setTimeout与console.log.bind一起使用:setTimeout(console.log.bind(console,"Thisisasentence."));如果您想对其应用CSS或其他文本,只需添加%c或任何其他%变量:setTi

javascript - Angular 2 : passing ALL the attributes to the child component

甚至不知道解释这个问题的正确术语所以,想象一下这个场景......有一个form-input-component并捕获一些属性并将其传递给内部的标记所以,这就是标记,希望它是不言自明的......显然在我的ts中@Input()label:string='';@Input()placeholder:string='';然后在View中我有一些东西{{label}}现在,到目前为止一切正常......但是假设我想在它周围添加验证规则......或者添加我没有通过@Input()捕获的其他属性我如何传递来自的任何其他内容?到我的在View中? 最佳答案

Javascript/网络包 : how to concatenate all json files in directory with a custom loop over files

我正在用webpack构建一个reactJs包。我目前正在尝试将json文件连接成一个对象以与i18next一起使用。我觉得它很简单,我不想使用过于复杂的解决方案。我的目录结构如下messages/locale_name/domain_name.json如何在我的代码中导入常规对象中的所有json文件?到目前为止,我在一开始就很挣扎,因为我发现需要require('fs")的建议,但是webpack告诉我它无法解析fs模块,我已经看到我无法安装它是默认Node配置的一部分。感谢一些帮助。谢谢! 最佳答案 经过很多的摸索,实际上很容易

javascript - console.log 的替代品?

我想知道是否有任何替代方法可以在不使用控制台消息的情况下向控制台写入内容。我的项目在完成构建之前删除了所有控制台语句,但在特殊情况下,我需要找到一种通过控制台向用户显示某些内容的方法。如果没有控制台语句,这甚至可能吗? 最佳答案 您只能通过控制台对象写入控制台。Console对象提供对浏览器调试控制台的访问。console.log("Failedtoopenthespecifiedlink")您可以使用其他方法进行调试:信息()console.info('Debugmessage');警告()console.warn('Debugm

javascript - 带有 Promise.all 的对象字面量(哈希)

我遇到这样一种情况,使用Promise.all会非常方便Promise.all({})而不是更标准的Promise.all([]).但这似乎行不通Promise.all({a:1,b:2}).then(function(val){console.log('val:',val);});当然可以Promise.all([1,2,3]).then(function(val){console.log('val:',val);});(我期望Promise.all映射对象文字的值,但保留键不变。)但是theMDNdocsforPromise似乎表明Promiseall将适用于任何可迭代对象。据我所

javascript - Promise.all 在带有参数的 promise 数组上

在将参数传递给每个promise时,如何向Promise.all添加一个promise数组?例如;varconfig={name:[function(val){returnnewPromise(function(resolve,reject){resolve('Thisisok')})},function(val){returnnewPromise(function(resolve,reject){resolve('Thisisok')})}],gender:[function(val){returnnewPromise(function(resolve,reject){resolve

javascript - kriskowal/q node.js q.all 和传播

我有一个函数需要传递给它的三个先前promise的结果。一个是线性相关的,另外两个可以同时运行。我想使用q.all解决三个promise,然后使用.spread将结果传递给第四个。但是我的代码不起作用。任何帮助将不胜感激。varp1=doWork(data);varp2=p1.then(doMoreWork);varp3=doConcurrentWork(data);returnq.all([p1,p2,p3]).spread(funcWith3params).fail(function(err){console.log(err):}我可以在node-inspector中跟踪代码,看到