2
我在chartDirective的功能,這使得對函數的調用的服務來獲得數據,格式數據,然後從我的chartDirective調用另一個函數:Angular Promise,爲什麼我在這個例子中未定義'then'?
function chartTicker(ticker, disabled) {
disabled = disabled || false;
var defer = $q.defer();
// Clear out previous chart:
d3.selectAll("svg > *").remove();
document.getElementById('chart').innerHTML = "";
chart = {},
chartData = [];
// Get and format data for chart:
document.getElementById('chart').innerHTML = "<svg></svg>";
var timeInHours = TimeSpanFactory.getTimeHours();
var promise = FormatChartDataFactory.getData(ticker, timeInHours).then(function() {
defer.resolve();
return defer.promise;
});
}
var promise = FormatChartDataFactory.getData(ticker, timeInHours).then(function() {
這裏是我的FormatChartDataFactory.getData
功能:
function getData(ticker, limit) {
var defer = $q.defer();
chartObj.chartData = [{}];
var limit_range = '';
if (limit > 0) {
limit_range = '?limit=' + limit;
}
getTickerPrice(ticker, limit_range).then(function() {
defer.resolve();
return defer.promise;
});
// GET Ticker data and return chartObj into drawChart:
////////////////////////////////////////////////////////////////////
function getTickerPrice(ticker, limit_range) {
return ApiFactory.getTickerQuotes(ticker.ticker, limit_range)
.success(function(data, status, headers, config) {
if (data.status === 'Success') {
// ....
這裏是link to my full FormatChartDataFactory gist file。
大聲笑,這是它!這是歷史上最快的答案:) –
@LeonGaban很高興幫助你..謝謝:) –