0
我想讓我的腦袋纏繞AngularJS中的承諾概念。正確使用角落中的承諾
以下代碼在正確的軌道上?有人可以解釋PlateCheckService.checkPlate
方法,爲什麼如果我不返回承諾? return $http.post().then
爲什麼message
和alertClass
對象的內部返回不起作用?我認爲這是一個鏈接/內在的承諾?
/// <reference path="angular.js" />
(function() {
"use strict"
var app = angular.module('cs');
app.service('PlateCheckService', ['$http', function ($http) {
return {
checkPlate: function (plateNumber) {
return $http.post('PlateCheck/Index', {
plateNumber: plateNumber
}).then(function (response) {
return {
message: response.data.VehicleAtl === null ? 'Clean' : 'Hot',
alertClass: response.data.VehicleAtl === null ? 'alert-success' : 'alert-danger'
}
});
}
}
}]);
app.controller('PlateCheckCtrl', ['$scope', 'PlateCheckService', function ($scope, PlateCheckService) {
var plateCheck = {
plateNumber: '',
message: '',
alertClass: '',
checkPlate: function (plateNumber) {
var _this = this;
PlateCheckService.checkPlate(plateNumber).then(function (response) {
_this.message = response.message;
_this.alertClass = response.alertClass;
});
}
};
$scope.plateCheck = plateCheck;
}]);
}());