草庐IT

javascript - 清洁代码 : try/catch in Promise

我正在研究redux-formatm并找到了这段代码。它对我有用,但有没有更简洁的方法来用ES6风格编写它?constasyncValidate=(values/*,dispatch*/)=>{returnnewPromise((resolve,reject)=>{try{if(['john','paul','george','ringo'].includes(values.name)){consterror={name:'Thatusernameistaken'};throwerror;}resolve();}catch(e){reject(e);}});};非常感谢你的帮助解决方案

javascript - Bluebird promises - 如何分解一个数组,然后映射它?

如果我有一个数组:['one.html','two.html','three.html']我如何分解该数组,对其应用一连串的promise,然后将其重新组合在一起?目前我的代码是这样的:Promise.map(['one','two','three'],function(i){dbQuery('SELECT'+i);}).then(function(results){//ThishasanarrayofDBqueryresults});我在想像这样的事情:Promise.map(['one','two','three'],function(i){dbQuery('SELECT'+i);

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 - async/await 会阻塞事件循环吗?

这个问题在这里已经有了答案:Willasync/awaitblockathreadnode.js(6个答案)InJavaScript,doesusingawaitinsidealoopblocktheloop?(8个答案)关闭4年前。我正在阅读Don'tBlocktheEventLoop来自Node.js指南。有一句话说:YoushouldmakesureyouneverblocktheEventLoop.Inotherwords,eachofyourJavaScriptcallbacksshouldcompletequickly.Thisofcoursealsoappliestoyo

javascript - 等待所有不同的 promise 完成 nodejs(异步等待)

我目前正在等待所有promise像这样按顺序完成:(async()=>{letprofile=awaitprofileHelper.getUserData(username);lettoken=awaittokenHelper.getUserToken(username);console.log(profile);console.log(token);return{profile:profile,token:token};})();但是这样,profile和token是顺序执行的。由于两者是相互独立的,所以我希望它们都一起独立执行。我认为这可以使用Promise.all来完成,但我不确

javascript - 在没有 I/O 的情况下,javascript(在浏览器中)的异步/ promise 是否有益?

我正在尝试为json-api找到一个好的反序列化器/反规范化器(事实证明这非常困难)。我遇到过几个示例,其中反序列化过程(基本上只是对关系进行反规范化和扁平化属性)被定义为异步函数。Here'sonesuchexample,但我发现了很多。现在,我对node/javascript的理解是它基于受I/O限制的系统,因此它的设计是操作应该是非阻塞的,以便其他操作可以在I/O期间进行调度,因此我们获取并发操作。然而,我不明白的是像这样的反序列化器中的用法。我们在反序列化时拥有完整的有效负载,没有任何I/O发生。我只能猜测作者假设关系查找可以同时发生,但是,由于javascript仍然是单线程

javascript - 使用jQuery promise模拟同步调用

我一直在使用bootbox.js库,异步操作,但我需要以同步方式使用它(例如,在提交表单之前设置一个“确认”窗口)。我不想使用e.preventDefault()取消事件,我想推迟操作直到用户响应模态。目前该库不支持它,但我很好奇是否可以使用promises模拟同步行为?这是一个非常基本的示例,使用链接(而不是表单提交按钮,这是我的最终目标):http://plnkr.co/edit/5NovsuKTeQ7y6SKNTwWp?p=preview 最佳答案 不,这根本不是promise的作用。Promises在这里无法为您提供帮助。链

javascript - 如何正确编写递归 jquery promise

如果我在重复一个已经被问得非常多的问题,请原谅我,但到目前为止我所看到的一切对我来说似乎都不是递归的,或者没有映射到我们正在做的事情,而promise和延期的主题似乎是对我来说非常复杂。我有一个“主题树”,它在用户展开节点时异步构建。该主题是使用API端点构建的,该端点在单击主题树节点上的(+)按钮时返回节点的子节点。当用户点击按钮时,我尝试使用如下所示的方法递归加载主题树元素:functiongetAssociatedTopics(){$.get('/topics/curriculum-associations',{guids:[...]}).then(function(data){

javascript - 如何让西蒙游戏正常运行

我正在从事“SimonGame”项目。我希望它按正确的顺序点亮按钮。但现在到目前为止,代码可以正常工作,直到第2级。如果我是对的,checkButton(randIndexArr,counter)应该包含在promise中,所以如果counter===index那么它应该调用checkButton,也许还有一些我遗漏的错误。这是视频的链接:代码应该如何工作才能更清晰Zipline:BuildaSimonGame这是我的代码:document.addEventListener("DOMContentLoaded",function(){'usestrict';varcheckOn=doc

javascript - PushManager 订阅 promise 从不履行或拒绝

我目前遇到一些Chrome(Chromium)版本的问题,其中来自ServiceWorker的PushManager.subscribepromise保持挂起状态。代码本身非常简单:returnserviceWorkerRegistration.pushManager.subscribe({userVisibleOnly:true});我有一个有效且可访问的JSONlist,提供了GCM发件人ID。我还尝试了不同的实现,如thispost中所述,但结果还是一样。订阅部分适用于每个47+版本,该问题出现在较旧的版本中。(我正在使用Chromium连续构建来测试不同的主要版本)。另请注意,