angular - Promise 函数在 Angular 6 中不返回错误

标签 angular

  Call(apiurl, model) {
        return new Promise((resolve, reject) => {
            this.adminService.add<any>(apiurl, model).toPromise().then(res => {
               return resolve({
                    'error': false,
                    'data': res
                });
            }), error => {
                return reject({
                    'error': true,
                    'data': error
                });
            }
        });
    }

这是我的职责。 当我调用这个函数并且 API 响应是 200 Ok 响应时,它会返回响应,但是当 API 抛出错误时,它不会返回错误

public add<T>(APIpath, data): Observable<T> {
        return this.http.post<T>(apiPath, data);
}

这是我的通用函数,用于调用 API 的调用函数

this.Result = await this.Call("API Path", Model);

这是调用此函数的代码,我想将响应存储在此结果变量中

最佳答案

这是因为错误 block 放置错误。您可以按如下方式更改代码以使其正常工作。希望您正在使用 TypeScript

var promise = new Promise(function(resolve, reject){
    return this.adminService.add<any>(apiurl, model).toPromise().then(res=>{
        resolve({
            'error': false,
            'data': res
        })
    }).catch(error=>{
        resolve({
            'error': true,
            'data': error
        }) 
    });
});

请注意 catch block 并删除了 return 语句。

关于angular - Promise 函数在 Angular 6 中不返回错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59299307/

相关文章:

excel - 用于 Angular 2 Excel 导出日期格式的 Kendo Grid

angular - Angular 4 应用程序索引中的脚本文件?

带有片段、异步数据的 Angular 2 路由

Angular2 "No provider for t!"和未捕获( promise ): Error: DI Error

javascript - 从数组中生成 Angular reducer

angular - 从 ts (angular, ng-select) 打开选择

css - Angular SCSS 全局变量导入

angular - 异步管道向子组件发送 'null' 值

jquery - 访问和/或操作元素的 angular 2/typescript 方式是什么?

css - 如何将 "position: sticky"应用于柔性布局中的 Angular Material 卡?