草庐IT

Request-Promise

全部标签

javascript - Angular - 绑定(bind)到返回 promise 的函数

我是Angular的新手,我很难弄清楚这个问题的根源。我正在编写一个单页应用程序,并且正在处理身份验证部分。我有一个名为“sessionService”的服务,我希望能够在整个应用程序中使用它来确定用户是否登录。如果我这样做很简单:...service('sessionService',function(...){/*...snip...*/this.isLoggedIn=function(){returnthis.authenticated;};});其中“已验证”仅供服务私有(private)。但是,如果我刷新页面,就会分崩离析。所以,我的想法是做这样的事情:/*...snip..

javascript - 如何使用 Jasmine 在 AngularJS 中测试 .catch Promise 返回?

我是Javascript的新手,刚开始学习AngularJS,但我的大部分测试用例都与我发现的一些很好的示例一起使用。不幸的是,我似乎找不到任何可以帮助我测试当前案例的东西。我正在使用一个模拟服务测试一个Controller,该服务的方法返回一个promise。我希望模拟服务返回一个错误,以便在Controller方法中执行“.catch”block。我可以通过几种方式判断它没有被正确调用:我正在使用istanbul用于代码覆盖,它告诉我我没有覆盖“catch”'.catch'block中的代码没有被执行,据我通过调试得知被测Controller,具体需要测试$scope.login中

javascript - 使用生成器 + promise 在 Firefox SDK 附加组件中/与 Firefox SDK 附加组件进行 "simulated synchronous"通信

TL;DR:有什么方法可以重写这个基于回调的JavaScript代码以改用promises和生成器吗?背景我有一个使用FirefoxAdd-onSDK编写的Firefox扩展.与SDK一样,代码分为附加脚本和contentscript。.这两个脚本具有不同类型的权限:附加脚本可以做一些奇特的事情,例如,通过js-ctypes调用native代码。界面,而内容脚本可以与网页交互。然而,附加脚本和内容脚本只能通过异步message-passinginterface来彼此交互。.我希望能够从普通的非特权网页上的用户脚本调用扩展代码。这可以使用称为exportFunction的机制来完成这样一

javascript - 为什么在 Chrome 上忽略被拒绝的 promise 是错误的?

如果promise被拒绝,我不想做任何事情,比如getPromise().then(foo=>{});。为什么在Chrome上会出错?(newPromise((resolve,reject)=>{reject()}))Promise{[[PromiseStatus]]:"rejected",[[PromiseValue]]:undefined}VM3250:2Uncaught(inpromise)undefined在Node和Firefox上,可以忽略被拒绝的部分。 最佳答案 promise拒绝就像未捕获的异常。如果你想忽略异常-捕

javascript - JS Promise - 立即从返回 Promise 的函数中检索一些数据

谁能推荐一种模式来立即从返回Promise的函数中检索数据?我的(简化的)示例是一个AJAX预加载器:loadPage("index.html").then(displayPage);如果这是下载一个大页面,我希望能够检查发生了什么,并可能在稍后阶段使用XHRabort()取消该过程。我的loadPage函数过去常常(在Promises之前)返回一个id,让我稍后执行此操作:varloadPageId=loadPage("index.html",displayPage);...doSomething(loadPageId);cancelLoadPage(loadPageId);在我基于

javascript - 带有 If-Modified 的 XmlHttpRequest,因为网络服务器返回 "400 Bad Request"

每当我使用以下代码时,网络服务器(运行IIS7)拒绝向我发送内容,而是发送“400错误请求”。request.setRequestHeader("If-Modified-Since","Sat,1Jan200000:00:00GMT"); 最佳答案 显然很多人都遇到过这个问题,可以通过在日期前加上0轻松解决。request.setRequestHeader("If-Modified-Since","Sat,01Jan200000:00:00GMT"); 关于javascript-带有If

javascript - JavaScript 永远悬而未决的 promise 不好吗?

假设我有一个名为myProm的promise,并假设我有名为onSuccess和onError的成功和错误处理程序。每当我的promise完成时间超过10秒时,我希望执行一个名为timeoutHandler的函数,但如果发生这种情况,onSuccess和onError都不会执行应该被执行。(同样,如果onSuccess或onError运行,我不希望我的timeoutHandler被执行。)我为此想出了以下片段。newPromise((suc,err)=>{letoutOfTime=false;consttimeoutId=window.setTimeout(()=>{outOfTime

javascript - jQuery when/then/fail with concurrent ajax requests : Which request failed?

想象这样一种场景,我们想要在对“foo”和“bar”的并发请求成功完成后做一些事情,或者如果其中一个或两个失败则报告错误:$.when($.getJSON('foo'),$.getJSON('bar')).then(function(foo,bar){console.log('IfireifBOTHrequestsaresuccessful!');}).fail(function(){console.log('Ifireifoneormorerequestsfailed.');});我如何确定1)对“foo”的请求是否失败,或者2)对“bar”的请求是否失败,或者3)如果两者都失败了?

javascript - 如何导出 promise 结果?

这段代码工作正常。在所有promise成功解决后,我只需要导出数据变量。我无法将此代码用于函数和导出变量。因为在这种情况下,此函数将导出一个空数组。'usestrict'importurlsfrom'./urls'importgetDatafrom'./get-data'getData(urls).then((responses)=>{constdata=[]constresults=responses.map(JSON.parse)for(leti=0,max=results.length;iconsole.log(error)) 最佳答案

javascript - Angular 2 - 如何在标题中编写 Http get promise?

Angular2-如何编写Httpgetpromise?我正在导入http并希望使用我的身份验证token设置httpheader。然后我想写一个httpget并将响应放入promise中以返回调用它的方法。到目前为止我有这个:import{Http,Headers}from"angular2/http";import{EnvironmentService}from'./environmentService';exportclassAuthService{privateenvironmentService:EnvironmentService;privatehttp:Http;priv