javascript - 如果它为空,如何编写条件http.get来创建记录

标签 javascript angularjs http service

我很好奇如何在 http.get 服务调用中添加条件语句。

例如我的服务调用:

$http.get(baseURL + "/api/complaints/" + $scope.Case + "/clists")
    .then(function (cl) {
        //success
        $scope.cl = []
        $scope.cl = cl;

    }, function (err) {
        //failure
        var errorMessage = "Cannot post checklists" + err;
    })
    .finally(function () {
        var isBusy = false;
    });

我想添加一个条件来表示如果 $scope.Case 不存在 clist,请运行后期服务调用来创建 clist。看起来像这样的东西:

$http.get(baseURL + "/api/complaints/" + $scope.Case + "/clists"")
    .then(function (cl) {
        //success
        $scope.cl = []
        if ($scope.cl.ID == null) {
            $http.post(baseURL + "/api/complaints/" + $scope.Case + "/clists")
            $scope.cl = cl;
        }
        else {
            $scope.cl = cl;
        }
    }, function (err) {
        //failure
        var errorMessage = "Cannot post checklists" + err;
    })
    .finally(function () {
        var isBusy = false;
    });

最佳答案

除了这部分之外,看起来还不错。您需要为帖子的 promise 添加回调函数:

if ($scope.cl.ID == null) {
    $http.post(baseURL + "/api/complaints/" + $scope.Case + "/clists")
        .then(function(cl) { 
            $scope.cl = cl;
        }
}

关于javascript - 如果它为空,如何编写条件http.get来创建记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36946324/

相关文章:

javascript - View 更改时 Backbone 重新加载 slider ?

javascript - 使用 javascript/jquery 闭包在 ul >li 层次结构中级联值

javascript - 对于更简单的用例来说 angular.js 是否被认为太大

javascript - 如何将 Razor boolean 变量传递给 Angular 指令?

web-services - Elixir - Simple Plug 示例在每次请求时两次调用调用方法

javascript - 使用从客户端收到的谷歌授权代码在服务器端javascript(nodejs)上获取访问 token

javascript - 如何使用 Jest 和/或 Enzyme 测试 React 组件呈现的样式和媒体查询

javascript - Angular - 停止双向绑定(bind)或本地值

api - 如何连接单独的微服务应用程序?

http - 如何测试 cyclejs http 驱动程序?