草庐IT

promise-style

全部标签

javascript - 将 promise 包装在 promise 中是一种反模式吗?

我尝试使用PromiseAPI编写代码以超时重新连接到数据库。我最终所做的是将连接到数据库的promise包装在一个promise中,但我不确定这是否是最好的做事方式。我认为可能有一种方法可以使用尝试连接到数据库的原始promise,但我无法弄清楚。functionconnect(resolve){console.log('Connectingtodb...');MongoClient.connect(url,{promiseLibrary:Promise}).then((db)=>resolve(db)).catch((err)=>{console.log('dbconnection

javascript - AngularJS 中的 promise 顺序

问题:是否有一种“简单”的方法来取消AngularJS中的($q-/$http-)promise或确定解决promise的顺序?示例我有一个长时间运行的计算,我通过$http请求结果。在初始promise得到解决之前,某些操作或事件要求我重新启动计算(并因此发送新的$http请求)。因此我想我不能使用像这样的简单实现$http.post().then(function(){//applydatatoview})因为我无法确保响应按照我发送请求的顺序返回-毕竟我想在所有promise都得到正确解决时显示最新计算的结果。但是我想避免等待第一个响应,直到我发送这样的新请求:consttime

javascript - 如何对调用另一个返回 promise 的函数进行单元测试?

我有一个使用express4的node.js应用程序,这是我的Controller:varservice=require('./category.service');module.exports={findAll:(request,response)=>{service.findAll().then((categories)=>{response.status(200).send(categories);},(error)=>{response.status(error.statusCode||500).json(error);});}};它调用我的服务返回一个promise。一切正常

Javascript Promises : Chain same promise n times, 然后做其他事情

我有一个返回promise的函数,它执行一些异步操作,我们称它为functionToRepeat()。我正在尝试编写函数repeatFunction(amount),这样它将启动promise,等待完成,再次启动,等待完成,等等给定的次数.这个repeatFunction(amount)也应该是thenable,这样我就可以在它执行后链接其他东西。这是我的尝试:functionfunctionToRepeat(){letaction=newPromise(function(resolve,reject){setTimeout(function(){console.log("resolv

javascript - 为什么使用 `eventEmitter` 而不是 promise

我在正在阅读的一本书中找到了以下示例:functionUser(){EventEmitter.call(this);this.addUser=function(username,password){//addtheuser//thenemitaneventthis.emit("userAdded",username,password);};}varuser=newUser();varusername="colin";varpassword="password";user.on("userAdded",function(username,password){console.log("Ad

javascript - 使用 promise 时 react 警告无法设置状态

我正在尝试查询服务器以获取导航项列表,以便我可以在init上构建我的菜单。到目前为止,我已经设法在主页上创建了一个包含3个内容的静态页面,其中包括标题、侧边栏和内容。侧边栏是不同类型用户的不同菜单,因此我需要在加载时检索菜单项。我收到的错误是Canonlyupdateamountedormountingcomponent.ThisusuallymeansyoucalledsetState,replaceState,orforceUpdateonanunmountedcomponent.Thisisano-op更新4所以我将我的api请求移动到index.js文件并尝试添加comment

javascript - promise .catch() : how to identify the differences between operational rejects and programmatical throws

经过大量谷歌搜索后,我无法找到一个明确的示例,说明如何避免对每个catch进行编程以确定Promise拒绝错误是程序性错误还是操作性错误。将此与提供callback(error,params...)的Node回调模式进行比较,在error参数中明确提供操作错误,并通过抛出链处理编程错误。请告诉我我犯了一个菜鸟错误,对此我错过了一个简单的答案。编辑Nodev10.0.0现在通过添加错误代码解决了这个问题。感谢RisingStack将此发送到我的收件箱:https://blog.risingstack.com/node-js-10-lts-feature-breakdown...正式但相当

javascript - 我希望切换元素的可见性 : should I start with class ="..." or style ="..."?

如果我在网页上有一个元素,我希望使用javascript显示和隐藏相当多的元素,将其设置为初始不可见的最合适方法是什么?...或...在大多数情况下,使用class="..."优于style="...",但我不认为它最适合这个案例。从语义上讲,我的元素不是隐藏元素,它只是一个将在页面首次加载时开始隐藏的元素。当我使用jQuery的show()和hide()方法时,这意味着它通常会处于这种状态:.....这对我来说显然是无稽之谈。另一方面,使用内联style="display:none;"感觉有点笨拙和硬编码。我知道这两种方法都可以完美运行并且用户永远不会变得更聪明,但是哪种模式违反设计

javascript - $.递延 : How to detect when every promise has been executed

我有许多异步任务需要完成,所以我使用了promises。我需要检测每个promise何时执行(解决和拒绝)。在那之前我不能继续执行。我正在使用这样的东西:$.when(promise1,promise2,...).always();但是这段代码是错误的,因为when方法有惰性求值,一旦其中一个promise失败它就会返回。因此,always回调也会在其中一个promise失败时立即运行。我在考虑编写一个解决方法,但这个用例太常见了,也许有人已经这样做了,或者甚至有一种方法可以只使用jQuery来做到这一点(如果没有,最好添加一个Promise.whenNonLazy或将来的Promis

javascript - 为什么 Backbone Collection fetch 不返回 promise

以下示例代码运行良好:Auth_controller.prototype.isLogged=function(){//CheckiftheuserisauthenticatedvargetAuthStatus=this.auth_model.fetch();returngetAuthStatus;};Auth_controller.prototype.redirect=function(fragment,args,next){vargetAuthStatus=this.isLogged();varself=this;$.when(getAuthStatus).then(function