草庐IT

promise2

全部标签

javascript - 在 onbeforeunload 中等待 promise

如果页面关闭,我想发送一个$http.get。然后我偶然发现了一个问题promise无法得到解决,因为如果最后一个方法返回,页面将被销毁。以下不起作用,因为onbeforeunload无法解决promise/不等待它们:window.onbeforeunload=function($http.get('http://someth.ing/update-state?page=unloaded').then(function(){//nevercalled...neversent...}}我知道,您可以使用默认同步HTTP方法,但问题通常是我们如何同步/等待promise在这里解决。我的想

Javascript:在异步函数中返回一个 promise

如果我有,会有什么不同吗:asyncfunctiontest(){constfoo=awaitbar()returnPromise.all([promise1,promise2])}代替:asyncfunctiontest(){constfoo=awaitbar()const[result1,result2]=awaitPromise.all([promise1,promise2])//GiventhatIdon'tcareaboutresult1,result2inthis`test`functionreturn[result1,result2]}如果我这样做,我会得到相同的结果。例

javascript - 将已解决的 promise 注入(inject)服务

在我设置一堆依赖于该信息的服务之前,我需要从服务器获取一些信息(模式)。我的服务器提供了一个模式来定义模型的各种属性。在我的Angular代码中,我有一个获取此模式的服务:services.factory('schema',function($q,$http){vardeferred=$q.defer();$http.get('schema/').then(function(response){schema=//somefunctionofresponse.datadeferred.resolve(schema);},function(){deferred.reject('Therew

javascript - 自定义 Jasmine Matcher 中已解决和已拒绝的 promise

故事:我们开发了一个自定义的jasmine匹配器,它主要做两件事:将鼠标悬停在给定元素上检查是否显示了带有所需文本的工具提示实现:toHaveTooltip:function(){return{compare:function(elm,expectedTooltip){vartooltipPage=requirePO("tooltip");browser.actions().mouseMove(elm).perform();browser.wait(EC.visibilityOf(tooltipPage.tooltip),5000,"Tooltipisstillnotvisible."

javascript - promise 支持 Chrome Extensions API?

过去几周我一直在编写一些浏览器扩展,直到今天我认为Firefox的WebExtension应该在Chrome中自动运行。所以我尝试根据Mozilla的示例编写我的代码。但是今天我发现在ChromeExtensions的API文档中并没有提到Promises。我在所有扩展的代码中都严格使用Promises。那么现在我的问题是,我的代码可以在Chrome中运行吗?或者,如果我在最顶部添加一个varbrowser=chrome声明,它会起作用吗?还是Chrome根本不支持API上的Promises?如果Chrome还不支持API函数上的Promises,它将来会支持它们吗?注意,我知道这个项

javascript - 处理嵌套 promise 的最佳方式( Bluebird )

这个问题在这里已经有了答案:HowdoIaccesspreviouspromiseresultsina.then()chain?(17个答案)关闭7年前。我下面有以下promise链,它看起来很乱(每个_create*函数返回一个promise):returnnewPromise(function(resolve,reject){_this.database.transaction(function(t){_this._createExternalAccount(payment,t).then(function(externalAccount){return_this._createE

javascript - 如何使用 Jest 为带有 Promise 的代码编写单元测试

我正在尝试使用Jest和Jasmine-pit为以下代码编写单元测试,但我完全被它难住了。该代码是一个ajax调用,它从资源中检索一些数据并将其保存在变量中。init=function(){vardeferred=Q.defer();$.ajax({type:'GET',datatype:'json',url:window.location.origin+name,success:function(data){userId=data.userId;apiKey=data.apiKey;deferred.resolve();}});returndeferred.promise;},

javascript - 服务中的 AngularJS $http 调用,返回已解析的数据,而不是 promise

我想知道是否可以使用$http进行服务调用,以便它直接返回数据而不返回promise?我曾尝试使用$q并推迟但没有任何运气。我的意思是:我有一个服务:angular.module('myModule').factor('myService',['$http','$q',function($http,$q){//PublicAPIreturn{myServiceCall:function(){return$http.get('/server/call');}};}]);我会这样调用它://Mycontroller:myService.myServiceCall().then(functi

javascript - 获取在 Promise.race 中完成了哪个 promise

上下文:我需要进行大量可并行的异步调用(大约300到3000次ajax调用)。但是,我不想通过一次调用它们来增加浏览器或服务器的压力。我也不想按顺序运行它们,因为需要很长时间才能完成。我决定一次运行五个左右,并为此派生了这个函数:asyncfunctionasyncLoop(asyncFns,concurrent=5){//queueupsimultaneouscallsletqueue=[];for(letfnofasyncFns){//firetheasyncfunctionandadditspromisetothequeuequeue.push(fn());//ifmaxconc

javascript - 如何使用 Mocha 测试 promise

我正在使用Mocha测试返回promise的异步函数。测试promise是否解析为正确值的最佳方法是什么? 最佳答案 自版本1.18.0(2014年3月)起,Mocha已内置Promise支持。您可以从测试用例中返回一个promise,Mocha将等待它:it('doessomethingasynchronous',function(){//note:no`done`argumentreturngetSomePromise().then(function(value){expect(value).to.equal('foo');})