簡體   English   中英

Angular工廠未從Soundcloud(SC.get)請求返回數據

[英]Angular factory not returning data from Soundcloud (SC.get) request

我試圖返回一個角度工廠從soundcloud get請求獲取的數據,以便我可以在控制器中使用該數據。

app.factory('soundcloud', function() {
    SC.initialize({
        client_id: 'd977aa793080e7656a3b73f35a27406f',
        redirect_uri: 'http://soundcloud.dev/soundcloud.html'
    });
    var data;
    SC.get('/users/kavverhouzer', function(data) {
        data = data;
    });
    return data;
});

當我嘗試在控制器中記錄數據時,我得到“未定義”。 這是控制器:

app.controller('AppCtrl', function($scope, soundcloud) {
    console.log(soundcloud)
});

有什么方法可以等待數據加載完畢嗎?

查看$ q

這將建立一個承諾。

編輯:

也許像這樣:

app.factory('soundcloud', function($q) {
    var deferred = $q.defer();
    SC.initialize({
        client_id: 'd977aa793080e7656a3b73f35a27406f',
        redirect_uri: 'http://soundcloud.dev/soundcloud.html'
    });

    SC.get('/users/kavverhouzer', function(data) {
       deferred.resolve( data);
    });
    return deferred.promise;
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM