草庐IT

javascript - 等效于 ES6 Promises 的 BlueBird Promise.props?

我想等待Promise的单词映射完成。BlueBird有Promise.props可以实现这一点,但是有没有一种干净的方法可以在常规javascript中做到这一点?我想我可以创建一个包含单词和Promise的新对象,获取这些对象的Promise数组,然后调用Promise.all并将它们放入map中,但这似乎有点矫枉过正。 最佳答案 适用于普通对象的Bluebird.props实现:/***Thisfunctionmaps`{a:somePromise}`toapromisethat*resolveswith`{a:resolve

javascript - 是否可以在 Mocha 测试中使用 ES6 模块?

ES6、Windows10x64、Node.js8.6.0、Mocha3.5.3是否可以在Mocha测试中使用ES6模块?我遇到了export和import关键字的问题。/*eventEmitter.js*//*Eventemitter.*/exportdefaultclassEventEmitter{constructor(){constsubscriptions=newMap();Object.defineProperty(this,'subscriptions',{enumerable:false,configurable:false,get:function(){returns

javascript - Q :ES6 map. keys() after map.delete(key)

当我尝试这些代码时:constmap=newMap([['a',1],['b',2],['c',3],['d',4],['e',5]]);console.log(map.keys());map.delete('a')console.log(map.keys());chrome控制台将显示这些:MapIterator{"a","b","c","d","e"}MapIterator{"c","d","e"}“b”为什么不出现? 最佳答案 这是一个浏览器兼容性问题,发生在map.keys()、map.values()、map.entrie

javascript - 为什么在 ES2015 中将 Object.keys 更改为将原语强制转换为对象?

有谁知道从将基元传递给Object.keys时抛出错误到默默地将基元强制转换为对象并返回结果的变化背后的原因?我不确定是否有人会期望Object.keys('abc')返回[0,1,2],这似乎违反了“不要破坏网络”的首要指令。如果某些网站的代码将对Object.keys的调用包装在try/catch中以处理调用者错误地传递原语怎么办?这就是为什么我觉得改变背后必须有一个强有力的理由。如果有人知道这方面的信息,我将非常感兴趣。 最佳答案 我在esdiscuss上找不到关于这个决定的任何提及,所以我只能提供我自己的观点。正如一位评论者

javascript - 处理 API 设计和 OO 糖

入门读物:Prototypesas"classes"OOJS按照上述模式,我创建如下库/APIvarProto={constructor:function(){this.works=true;},method:function(){returnthis.works;}};现在库用户要与我的原型(prototype)(不提供工厂函数)交互,他们必须实例化和初始化对象//instantiatevarp=Object.create(Proto);//initializep.constructor();这是一种强制用户实例化和初始化我的对象的不友好且冗长的方式。我个人使用pd在我所有的应用程序

javascript - 与网络界面相比,Google Search API 有时会返回第一个结果,有时会返回第二个结果

首先,这不是以下内容的副本:Whydoesagooglesearchthroughthegoogleapireturndifferentresultstoasearchinthewebpage?也不是我能够找到的任何其他“谷歌搜索API返回意外结果”问题。我正在编写一个使用Google网络搜索API的小型javascript程序。我正在为我的“购买地点”页面创建自定义链接,这些链接应该将用户引导到我们经销商网站上的正确页面,以购买他们在单击“购买地点”时上次查看的产品。我使用document.referrer的javascript方法,然后解析URL以确定用户上次访问我网站上的哪个页面

javascript - 如何从浏览器剪贴板 api 获取动画 gif 图像?

我正在测试以下代码,当我复制动画gif并将其粘贴到网页时,我在控制台中看到了image/png-而不是image/gif符合预期。为什么?document.onpaste=function(event){console.log(event.clipboardData.items[1]['type']);//'image/png'};如何匹配gif图片?你可以在这个jsfiddle测试它与this例如gif图片。 最佳答案 CF_GIF剪贴板格式很少使用。大多数应用仅将图像作为CF_BITMAP、CF_ENHMETAFILE或CF_D

javascript - 如何使用 Web Audio API 降低麦克风输入的噪音?

我一直在尝试使用WebAudioAPI并将笔记本电脑的麦克风用作输入源。不过,当我听输入时,我能听到很多白噪音;我怎样才能创建一个过滤器来降低噪音,使声音更清晰?有没有针对这种情况提供预写噪声过滤器的库? 最佳答案 '`我正在研究一些POC并使用BiquadFilter减少笔记本电脑的“生命周期Nose”。我也用过压缩器,但你不必))(function(){varfilter,compressor,mediaStreamSource;//Startoffbyinitializinganewcontext.varcontext=new

javascript - 如何使用 Youtube API 为 Youtube 视频添加字幕?

是否可以使用GoogleYoutubeAPIv3向Youtube视频添加字幕(重要条件-对于非所有者的视频)?任务:使用适用于JavaScript的GoogleAPI客户端库添加所选语言的自定义字幕。(GooglemapsAPI允许向他们的map添加自定义标记(例如),当我们是在谈论YoutubeAPI吗?) 最佳答案 Google称它们为“字幕”,API部分称为YouTubeAPIv2.0–Captions.Pleasenotethefollowingrequirementsforexecutingcaption-relatedA

javascript - CSP 安全的 ES6 模板文字

是否有一个模板引擎可以解析ES6templateliterals样式的模板?(例如"string${var}")而不违反脚本评估的内容安全策略(CSP)限制?CSPrestrictionsonscriptevaluation防止eval、newFunction、setTimeout(string)和setInterval(string)。有许多模板引擎可以提供或修改以提供类似于ES6风格的模板文字,例如JohnResig的MicroTemplates,lodash_.template和DoT.js.然而,所有这些似乎都通过使用newFunction违反了CSP。如果var可以是不受限制