草庐IT

http统一响应处理

全部标签

javascript - 在 http.get 之后从另一个 Controller 更新一个 Controller 中变量的值?

我有两个Controller。我想使用服务将变量从一个Controller更新到另一个Controller,但它没有更新。我希望Controller“select”中的变量$scope.names在Controller“current”中更新并显示它app.controller('select',['$scope','$http','myService',function($scope,$http,myService){$http.get('/myapp/stocknames').success(function(data){$scope.names=data;myService.na

javascript - "right"同步HTTP请求方式

你可能是来这里责备我的,但这是一个真实的用例。在在线教育的世界里,有SCORM类(class)。我必须让旧的SCORM类(class)在网站上运行。SCORM类(class)是“基于网络的”并在浏览器中运行,但他们希望在iframe中运行,并且希望家长提供GetValue方法和SetValue。因此,这些SCORM类(class)正在执行类似parent.SetValue("score","90")的操作并继续进行。如果有任何问题,该函数应该返回“false”。SCORM来自90年代,在现代网络中我们知道我们必须进行回调/promise,并且http“经常”失败。您可能认为解决方案是一

javascript - Redux normalizr + 处理减少的响应

Normalizr非常擅长创建实体的结构化JSON存储库。我们有很多案例显示数据列表,例如posts已规范化。在列出posts的地方,API响应仅限于几个关键字段。尽管我们现在需要从API中获取包含所有字段的完整JSON实体,但我们也有显示这些posts之一的情况。如何最好地处理这个问题?一个一个单独的reducer、thunk/saga、选择器和Action?B只需将从API获取的post的扩展版本插入到reducer中。重用之前的选择器等? 最佳答案 将应用程序的状态视为数据库。我建议你使用这个状态形状:{entities:{/

javascript - 进行第二次 http 调用并在同一个 Observable 中使用结果

我使用的是angular2,它是http组件。我想调用一个将返回元素列表的RESTAPI。该列表的大小限制为100个条目。如果有更多项,将在响应中设置一个hasMore标志。然后您必须使用参数page=2再次调用API。如果有一个Observable,同时包含两个服务器响应,那就太好了。我的代码看起来像这样:call({page:1}).map(res=>res.json()).do((res)=>{if(res.meta.hasMore){//doanotherrequestwithpage=2}}.map(...).subscribe(callback)call是一个将使用http

javascript - 使用 RxJS 进行批处理?

我猜这应该很容易实现,但我在弄清楚如何解决它时遇到了麻烦(我猜是概念上的)。我拥有的是一个返回JSON对象数组的API。我需要遍历这些对象,并为每个对象进行另一个AJAX调用。问题是处理每个AJAX调用的系统一次只能处理两个事件调用(因为它是挂接到桌面应用程序的CPU密集型任务)。我想知道如何使用RxJS(使用版本5或4)实现这一点?编辑:此外,是否可以同时运行一系列步骤。即下载文件:1处理文件:1转换文件:1上传文件:1下载文件:2处理文件:2转换文件:2上传文件:2下载文件:3处理文件:3转换文件:3上传文件:3我试过做类似的事情:Rx.Observable.fromPromise

javascript - Gulp Bundle + Browserify 处理多个文件

所以我有一个简单的gulp任务函数,它当前将我的main.jsx转换为main.js文件:gulp.task("bundle",function(){returnbrowserify({entries:"./app/main.jsx",debug:true}).transform(reactify).bundle().pipe(source("main.js")).pipe(gulp.dest("app/dist"))});我想知道是否可以在这个gulp.task中放入多个包?我理想的结果是能够做到:main.jsx到main.jsotherPage.jsx到otherPage.jso

javascript - 如何捕获服务器响应,即使发生 400 错误请求错误?

考虑以下代码。这只是一个带有axios库的简单httppost请求。axios.post('http://localhost/users',this.state).then(function(response){if(response.status==201){browserHistory.push('/features');}}).catch(function(error){console.log(error);})如果用户在输入中输入了错误的数据,则来自服务器的响应会保留信息,例如密码必须长于...缺少@符号的邮件等...但是不幸的是,如果存在400错误请求状态,我不知道如何进入该

javascript - 使用 Fetch API 和 fs.createWriteStream 对文件进行流式响应

我正在创建一个Electron应用程序,我想将图像流式传输到一个文件(所以基本上是下载它)。我想使用原生的FetchAPI,因为请求模块会是一个很大的开销。但是响应没有管道方法,所以我不能做类似的事情fetch('https://imageurl.jpg').then(response=>response.pipe(fs.createWriteStream('image.jpg')));那么如何结合使用fetch和fs.createWriteStream呢? 最佳答案 我成功了。我创建了一个将响应转换为可读流的函数。constres

javascript - Cloud Functions for Firebase HTTP 超时

我很喜欢这个。我编写了一个CloudFunctions,它获取从Azuretoken发送的信息来自定义类型转换一个Firebasetoken并将此token发送回客户端。token已正确创建,但未在我的HTTP请求中返回。不幸的是,我的Firebase应用导致超时。Functionexecutiontook60002ms,finishedwithstatus:'timeout'我真的想不通为什么会这样,因此写了这篇文章。是我的代码有问题,还是我调用了错误的HTTP请求?这是我从FirebaseFunctions控制台获得的日志。这是我的代码//CreateaFirebasetokenf

javascript - 以 Angular 6 重试 HTTP 请求

我使用拦截器根据每个请求的HTTP响应在显示屏上显示错误消息。intercept(request:HttpRequest,next:HttpHandler):Observable>{constcustomReq=request.clone({//headers:request.headers.set('app-language','en')});returnnext.handle(customReq).pipe(tap((ev:HttpEvent)=>{if(evinstanceofHttpResponse){//processingrequest}}),catchError(resp