猿问

用于 REST API 的 JS 中“then”子句的目的?

我是 JS 新手,我试图了解这段代码在做什么:


$rootScope.addUser = function(userId) {        //1

            $http.post('/addUser', {           //2

                params: {                      //3

                    user_id: userId            //4

                }

            }).then(function(result) {         //5

                $rootScope.userId = undefined; //6

                $rootScope.getUsers();         //7

            });

        };

根据我的理解(如果我在任何地方错了,请纠正我):

第一行接收一个 userId(不确定是否指定了类型......)。

第 2 行正在接受端点为 /addUser 的 POST 请求。

第 3 行和第 4 行从第 1 行获取输入并将其设置为变量“user_id”(我猜想在其他地方使用?)

第 5 行到第 7 行我猜将在此请求结束时执行,但我不知道“结果”来自哪里。

但是为什么第 6 行将 userId 设置为 undefined?

这段代码与一些 Java 后端交互,但我不明白其中一些行的目的是什么。


largeQ
浏览 126回答 1
1回答

慕娘9325324

第一行接收一个 userId(不确定是否指定了类型......)。是的,这声明了一个将 auserId作为参数的函数。在 JavaScript 中,我们不必声明变量的类型。第 2 行正在接受端点为 /addUser 的 POST 请求。第二行向 endpoing发出POST 请求/addUser。第 3 行和第 4 行从第 1 行获取输入并将其设置为变量“user_id”(我猜想在其他地方使用?)这些行正在创建要在 POST 请求中发送的数据。然后该数据被服务器上运行的任何程序使用。第 5 行到第 7 行我猜将在此请求结束时执行,但我不知道“结果”来自哪里。当响应从服务器返回时执行这些行。result是该响应的主体。但是为什么第 6 行将 userId 设置为 undefined?通过设置$rootScope.userId = undefined,这保证了键userId存在于引用的对象中$rootScope。我认为作者这样做只是为了避免在没有先定义密钥的情况下访问密钥。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答