【问题标题】:Difference in httpclient implementation between Flutter and Angular?Flutter和Angular之间httpclient实现的区别?
【发布时间】:2020-08-14 00:05:00
【问题描述】:

我目前正在使用 Angular 框架开发一个网站,我发现自己面临着一个令我困惑和疑惑的情况。

确实,与 2020 年的大多数网站/应用程序一样,用户可以在其帐户中表明自己的身份,以便访问其个人信息。

已经开发了一个 Flutter 应用程序来训练自己,我已经通过调用 API 的登录名/密码设置了一个识别系统。

此调用在下图中可见。正如您在这张图片中看到的,由于等待 POST 请求,我检索了 API 响应。

然后我打开了答案的 statusCode。

这就是我的问题所在。 我以为我会对我的 Angular 网站采取同样的想法,但出现了一个“问题”。

当我在 Angular 下设置这个“方法”时,如果我输入了错误的用户信息,我并没有真正得到答案,但是浏览器告诉我有错误。

您将在下面的两个捕获中看到不同的场景。

我的问题终于“简单”了:

为什么我可以打开 Flutter 响应的 statuCode 而不能在 Angular 中打开? 更准确地说,为什么 400 个答案在 Angular 而不是 Flutter 中被视为错误?

只是两个框架在实现上的区别?

【问题讨论】:

    标签: angular api flutter asynchronous promise


    【解决方案1】:

    这是框架的不同。但是,您仍然可以使用 observable 的管道和 catchError 运算符对 Angular 做您想做的事情。 (这假设您使用的是最新版本的 Angular)

    this.http.post(..).pipe(
        catchError((err) => {
            switch(err.status) {
                case 400: {
                   // Do something
                   break;
                }
                case 500: {
                   // Do something
                   break;
                }
                default: { 
                   //Do something 
                   break; 
                } 
            }
        }).toPromise();
    

    【讨论】:

    • 太好了,感谢您的回答和使用管道的技巧:)
    猜你喜欢
    • 1970-01-01
    • 2021-05-28
    • 2019-01-22
    • 1970-01-01
    • 2014-05-25
    • 2014-08-01
    • 2020-09-01
    • 2014-06-05
    • 1970-01-01
    相关资源
    最近更新 更多