これが、この前の質問の問題の原因だと思います。私はこことここを見てきましたが、何が起こっているのかまだ理解していません。コンソールにログを記録すると、期待どおりtemp
の結果が得られますが、およびを使用して値をログに記録しようとすると、temp と同じではなく値が得られます。1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31
var month = $q.defer()
month.resolve(temp)
month.promise
[Object object]
それは期待されるべきことですか?
いいえの場合- 私は何を間違っていますか (これが原因で $q.defer() を使用している理由です)
はいの場合month.promise
-より消費しやすい形式に変換するにはどうすればよいですか? つまり、temp が配列の場合month.promise
、配列としてアクセスする方法temp[0] = month.promise[0]
以下は私のコード例ですが、コントローラーとサービスはすべてここにあります。基本的には、代わりに配列(またはJSON)をコントローラーに返したいだけです[Object object]
var month = $q.defer();
$http.get('getMonth.php?date=' + date)
.success(function (data, status, headers, config) {
var temp = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31];
console.log("Temp : " + temp + " !!!");
month.resolve(temp);
//month.resolve(data);
//console.log("data "+data[0]);
console.log("resolved " + month);
console.log("resolved[0] " + month[0]);
console.log("resolved.promise " + month.promise + " !!!");
console.log("resolved.promise[0] " + month.promise[0]);
});
アップデート
以下の@CuongLeのアドバイスで、以下のコードを追加しました。データを正常にログに記録できますが、[Object object]
それを返すとまだ得られます
var promise = month.promise;
promise.then(
function (data) {
console.log(data);
});