0
我有這樣的代碼($範圍$適用。):
var meme = angular.module('testApp');
meme.controller('awsCtrl', ['$scope', function ($scope) {
$scope.myDate = 'Hello there!';
$scope.testSend1Response = '';
//-----
//--set up configuration for AWS
//-----
var credentials = new AWS.Credentials('AKIAI4UYCXVJ2FJICSHA', 'Sj42vmNla34trodyrvIcVIkbo+mczVo5QMIlfVHg');
AWS.config.region = "ap-southeast-2";
AWS.config.credentials = credentials;
//-------------------------------------------------------------------------
//--send message
//-------------------------------------------------------------------------
$scope.testSend1 = function() {
var sqs = new AWS.SQS({apiVersion: '2012-11-05'});
var params = {
DelaySeconds: 10,
MessageAttributes: {
"Title": {
DataType: "String",
StringValue: "The Whistler"
},
"Author": {
DataType: "String",
StringValue: "John Grisham"
},
"WeeksOn": {
DataType: "Number",
StringValue: "6"
}
},
MessageBody: "Information about current NY Times fiction bestseller for week of 12/11/2016.",
QueueUrl: 'https://sqs.ap-southeast-2.amazonaws.com/448283262740/reporting'
};
sqs.sendMessage(params, function(err, data) {
if (err) {
console.log("Error", err);
} else {
$scope.testSend1Response = ' Success. MessageId: ' + data.MessageId; // << THE PROBLEM IS HERE
console.log("Success", $scope.testSend1Response);
console.log('Success2 ' + data.MessageId);
}
});
}
}]);
在此區域:
sqs.sendMessage(params, function(err, data) {
if (err) {
console.log("Error", err);
} else {
$scope.testSend1Response = ' Success. MessageId: ' + data.MessageId; // << THE PROBLEM IS HERE
console.log("Success", $scope.testSend1Response);
console.log('Success2 ' + data.MessageId);
}
});
我使用AWS sqs發送消息,然後記錄它已發送並指定範圍變量testSend1Response
MessageId。
在我的HTML我有:
<button ng-click="testSend1()"> Send data </button>
<span> Response: {{testSend1Response}}</span>
當我按一下按鈕,響應不打印它在HTML,我很期待它來獲取打印,但在控制檯日誌中我可以看到說1aacc
,當我點擊按鈕第二次,1aacc
被印在HTML,但在控制檯日誌中我可以看到的2bbdd
中MessageId中MessageId,所以它似乎$scope.testSend1Response
是日誌後面,正顯示出我的先前的MessageId而不是當前的。
結帳這個驚人的帖子由吉姆·霍斯金斯更多信息: http://jimhoskins.com/2012/ 17分之12/ angularjs和 - apply.html –