草庐IT

promise2

全部标签

javascript - 使用 EventListener 解决 promise

我正在处理一个弹出式div,我想在动画上附加一个promise,这样我就可以在弹出式窗口结束后做一些事情。我的方法不起作用,因为我找不到将promise传递给事件处理程序上的函数的方法。似乎你不能在这里使用bind。我已经尝试过,虽然我可以解决promise,但我无法删除事件处理程序这里会有什么不同的解决方案?functionEventListenerForPopUp(){this.removeEventListener("animationend",EventListenerForPopUp);this.Show.resolve();}functionShowHideDiv(){th

javascript - 如何在异步/等待语法中使用 Promise.prototype.finally()?

实际上我的主要问题是在async/awaitES8语法中使用Promise.prototype.catch(),毫无疑问是Promise。prototype.then()存在于async/await语法的本质中。我搜索了关于在async/await中使用Promise.prototype.catch()并找到了这个:async()=>{try{constresult1=awaitfirstAsynchronousFunction();constresult2=awaitsecondAsynchronousFunction(result1);console.log(result2);}c

javascript - task.js 生成器/ promise 与异步回调

我想知道在处理JavaScript中的异步代码时,这两种方法中哪种方法更好。我想了解哪种方法可以生成更清晰的代码。我习惯于使用promises,它们似乎比异步方法(https://github.com/caolan/async)更灵活。我也知道Task.js库(http://taskjs.org/),但这依赖于作为EcmascriptHarmony一部分的yield关键字。 最佳答案 async库封装了几个非常常见的异步模式,包括并行进行任意异步调用和异步迭代列表。它旨在与“nodeback”(err,res)API一起使用,这使得

javascript - JS Promises/A+ 的 'catch' 方法名称是否无效,因为它是 JS 关键字?

最近开始在一个项目中使用JSPromises。我注意到每次我使用.catch我的JSlinter提示。它确实运行并做了它应该做的事情,但我查找了ECMAScriptspec它看起来真的是对的:因为catchisakeyword它不能用作标识符。据我了解,方法名称是标识符,因此这是无效的:Promise.reject("Duh").catch(alert);应该是这样的:Promise.reject("Duh")['catch'](alert);我错过了什么? 最佳答案 WhatamImissing?属性名称不是标识符,它可以使用任何

javascript - 我可以触发并忘记 nodejs (ES7) 中的 promise 吗?

我想用babel运行这段代码:redisClientAsync.delAsync('key');returnawaitsomeOtherAsyncFunction();在第一行没有await的异步函数中。这样可以吗?我还能如何运行我不关心的东西?我可以在没有回调的情况下触发非promise函数del('key',null)吗? 最佳答案 是的,你可以这样做,它会并行运行两个异步函数。您刚刚创建了一个promise并将其丢弃。但是,这意味着当promise被拒绝时,您不会注意到。你只会getanunhandledRejectionev

javascript - RxJS:连接三个 promise ,区分结果

我有三个promise,Rest请求返回数据列表。第三个有对前两个列表的引用(ids),所以我想在我拥有所有数据时将这些ids映射到相应的名称。映射不是问题,我只是为此使用了Lodash。但问题是在开始计算此映射之前等待三个promise解决。我想到了使用concat():Rx.Observable.concat(p1,p2,p3).subscribe(functiononNext(list){//Assignthelisttothecorrespondingvariableinthescope},functiononError(e){//Notifyoferror},function

javascript - 为什么仅调用同步函数时 javascript promises 是异步的?

在测试中,我发现JavaScriptPromises总是是异步的,无论它们的链中是否包含任何异步函数。这里是一些代码,显示了控制台中的操作顺序。如果你运行它,你会看到即使每个函数都是同步的,输出显示两个aPromise()调用是并行运行的,并且“令人惊讶的是,这是在运行2完成后发生的”不在运行2完成之前发生。functionaPromise(){returnnewPromise(function(resolve,reject){console.log("makingpromiseA")resolve(bPromise());console.log("promiseAresolved")

javascript - 如何使用 EmberData 在 EmberJS 中返回由嵌套模型组成的 promise ?

环境#Ember:1.4.0#EmberData:1.0.0-beta.7+canary.b45e23ba型号我已经简化了我的用例,使问题更容易理解和回答。假设我们有3个模型:Country,Region和Area:Country:-id:DS.attr('number')-name:DS.attr('string')-regions:DS.hasMany('region')Region:-id:DS.attr('number')-name:DS.attr('string')-country:DS.belongsTo('country')-areas:DS.hasMany('area'

javascript - 单元测试 angularjs $q.all - promise 永远不会完成

我正在尝试测试我使用Angular的$q构建的服务promise的实现。我按照promise使用了Karma、Mocha、Chai、Sinon、SinonChai和Chai的组合。我编写并返回promise的所有测试都通过了,但拒绝或使用$q.all([...])的测试。我已经尝试了所有我能想到的方法,但我似乎无法找到问题所在。以下是我正在测试的精简版:"usestrict";describe("Promise",function(){var$rootScope,$scope,$q;beforeEach(angular.mock.inject(function(_$rootScope_

javascript - 在 promise 中打开窗口

我们正在使用promise库Q,但遇到以下问题。window.open()isblockedbybrowserwheniscalledfrompromise我们尝试在promise机制启动之前打开窗口,这是有效的,但问题是当打开新选项卡(并获得焦点)时,所有浏览器资源都引用新选项卡,逻辑是仍然在第一个选项卡中完成,这会导致性能不佳。还有其他方法可以在promise完成时使用事件处理此事件,然后捕获此事件并打开新窗口。更新“所有浏览器资源都指向新标签页”是什么意思我们发现了有趣的行为:)当用户单击按钮时,我们正在运行应用程序,在这种情况下,我们打开新选项卡并将焦点更改为新选项卡,我们正在