Javascript 在angular 1.4.3中,$http LonghHand和shorthand之间有什么区别?

Javascript 在angular 1.4.3中,$http LonghHand和shorthand之间有什么区别?,javascript,angularjs,ajax,http,Javascript,Angularjs,Ajax,Http,我正在尝试选择一个在Angular中使用$http服务的标准- 就发展目的而言,两者之间有什么区别吗?表演还是其他?还是仅仅归结为偏好 我更喜欢手写体,我觉得它更可读,更喜欢换行: $http({ method: 'POST', url: '/api/mydata', data: JSON.stringify($scope.myData), headers: { 'Content-Type': 'application/json' } }

我正在尝试选择一个在Angular中使用$http服务的标准-

就发展目的而言,两者之间有什么区别吗?表演还是其他?还是仅仅归结为偏好

我更喜欢手写体,我觉得它更可读,更喜欢换行:

 $http({
    method: 'POST',
    url: '/api/mydata',
    data: JSON.stringify($scope.myData),
    headers: {
       'Content-Type': 'application/json'
    }
 })
    .then(getReportDataComplete)
    .catch(getReportDataFailed);
与之相比:

 $http.post('api/mydata/',{
    data: JSON.stringify($scope.myData),
    headers: {
       'Content-Type': 'application/json'
    }
 })
    .then(getReportDataComplete)
    .catch(getReportDataFailed);
简短回答 它们完全一样,你可以用最舒服的

它的定义是什么? $http函数的短函数在中定义。 在此文件中,您可以找到以下行:

createShortMethodsWithData('post', 'put', 'patch');
如果您查看createShortMethods的定义,您可以看到:

function createShortMethods(names) {
  forEach(arguments, function(name) {
    $http[name] = function(url, config) {
      return $http(extend({}, config || {}, {
        method: name,
        url: url
      }));
    };
  });
}
上面的函数将遍历给定的标签,并在调用$http()时设置短函数以使用正确的参数扩展给定的配置。

short-Answer 它们完全一样,你可以用最舒服的

它的定义是什么? $http函数的短函数在中定义。 在此文件中,您可以找到以下行:

createShortMethodsWithData('post', 'put', 'patch');
如果您查看createShortMethods的定义,您可以看到:

function createShortMethods(names) {
  forEach(arguments, function(name) {
    $http[name] = function(url, config) {
      return $http(extend({}, config || {}, {
        method: name,
        url: url
      }));
    };
  });
}
上面的函数将遍历给定的标签,并在调用$http()时设置短函数以使用正确的参数扩展给定的配置