草庐IT

promise-style

全部标签

javascript - node.js 链接多个 promise (使用 Mongoose )

以下是我正在处理的一个典型的promise函数。var_delete=function(t,id){returnPromise.cast(Event.find({where:{id:id}},{transaction:t})).then(function(d){if(d){//-------(*)returnPromise.cast(d.updateAttributes({status:-1},{transaction:t})).then(function(){//doinventorystuffreturnPromise.cast(Inventory.update({}).exec(

javascript - promise.all 是如何工作的?

我开始深入研究promises并发现有趣的Promise.all。在MDN中声明ThePromise.all(iterable)methodreturnsapromisethatresolveswhenallofthepromisesintheiterableargumenthaveresolved.这基本上意味着设置promise在参数列表中的所有promise都已解决之后解决。我试图实现它。我简单地promise了ajax调用。varget=function(url){returnnewPromise(function(resolve,reject){varxhtml=newXML

javascript - chai-as-promised 和 mocha 中嵌套属性的测试值

我正在尝试使用chai-as-promised库测试返回promise的函数。我promise的结果是一个具有嵌套属性的对象。是否可以测试深层嵌套属性的值。例如functionmyFunc(){returnnewPromise((resolve,reject)=>{constdata={thing:{foo:'bar',baz:'lah'}}resolve(data)})}如何在不检查整个对象的情况下测试foo属性是否等于“bar”?我试过这样的事情:expect(myFunc()).to.eventually.have.property('thing.foo','bar')但是没有运

javascript - 未捕获( promise )DOMException : Subscription failed - no active Service Worker

我正在尝试订阅用户,但这是我第一次遇到的错误。第二次,它正在工作,因为用户已经处于事件状态这是我的代码:if('serviceWorker'innavigator){console.log('ServiceWorkerissupported');navigator.serviceWorker.register('sw.js').then(function(reg){console.log(':^)',reg);reg.pushManager.subscribe({userVisibleOnly:true}).then(function(sub){console.log('endpoin

javascript - 尝试在 Reactjs 中实现一个简单的 promise

只是第一次在React中尝试Promises。我有一个基本的promise(从别人的代码中提取),但不知道如何调整它以使其有用。到目前为止我所拥有的(在我的render()函数中)varpromise=newPromise((resolve,reject)=>{letname='Dave'if(name==='Dave'){resolve("Promiseresolvedsuccessfully");}else{reject(Error("Promiserejected"));}});promise.then(function(result){console.log(result);/

javascript - 扩展内置的 javascript Promise

我正在尝试用一种新方法扩展javascriptpromise。在这种情况下,这个新方法称为foo,它实际上执行如下操作:Promise.foo=function(arg){returnthis.then(function(result){returnresult.foo(arg);});};所以简而言之,foo()函数是等待promise解决然后在结果上调用foo()的快捷方式。这个函数的本质是它可以被链接起来,就像then()一样。myPromise.foo(a).foo(b).foo(c);我觉得这应该是可能的,但我只是不确定正确的路径是什么。这是我试过的:varFooPromis

javascript - 将应用程序与 REPL 一起使用时如何解决 promise

我有一个基本的Node网络服务器(Koa.js+一个ORM)。我喜欢以REPL开头这意味着我可以像使用CLI工具一样使用我的应用程序。我的所有查询都返回Promises,但我不知道如何在REPL中解决它们。我该如何解决它们?例如以下代码(fetch()查询数据库并返回一个promise)仅给出此输出Promise{_bitField:4325376,_fulfillmentHandler0:undefined,_rejectionHandler0:undefined…}Transaction.where('reference','1').fetch().then((res)=>retu

javascript - <style type ="text/javascript"> 有什么用处吗?

这个有什么用处和用途,有用吗? 最佳答案 它用于“JSSS”或Javascript样式表;参见here获取更多信息。它是非标准的,并且在Netscape的原始提案之外从未真正流行过,您可以阅读here。我不认为今天的大多数浏览器都支持这个;我当然从未见过使用它的网站。 关于javascript-<styletype="text/javascript">有什么用处吗?,我们在StackOverflow上找到一个类似的问题: https://stackove

javascript - 使用 Q promises 串行执行

我想我误解了Qpromise工作。我希望我的第一个promise在下一个promise开始之前解决,但那没有发生。这是我的代码:varQ=require('q');functiondoWork(taskName){vardeferred=Q.defer();console.log('starting',taskName);setTimeout(function(){console.log('donewith',taskName);deferred.resolve();});returndeferred.promise;}doWork('taskone').then(doWork('ta

javascript - rsvp.js 如何使用失败回调链处理被拒绝的 promise

回复:https://github.com/tildeio/rsvp.js我有一个名为doSomething()的函数,它会做一些事情一段时间然后返回一个RSVP.Promise。然后,一连串的成功和失败回调是用返回的promise注册(见下面的代码)。我期望的行为是,如果promise得到履行,成功回调链注册promise将被解雇,如果promise被拒绝(失败),链将触发失败回调。我得到了promise实现时的预期行为,但是我得到了当promise被拒绝时,行为与我预期的不同。那是,成功回调被链接起来,一个成功回调的输出被传递到链中的下一个成功回调。但似乎失败回调没有链接。它们的行