相关疑难解决方法(0)

如何解决$ q.all?

我有两个功能,都返回承诺:

    var getToken = function() {

        var tokenDeferred = $q.defer();         
        socket.on('token', function(token) {
            tokenDeferred.resolve(token);
        });
        //return promise
        return tokenDeferred.promise;
    }

    var getUserId = function() {
        var userIdDeferred = $q.defer();
        userIdDeferred.resolve('someid');           
        return userIdDeferred.promise;
    }
Run Code Online (Sandbox Code Playgroud)

现在我有一个主题列表,一旦这两个承诺得到解决,我想立即更新

    var topics = {      
        firstTopic: 'myApp.firstTopic.',  
        secondTopic: 'myApp.secondTopic.',
        thirdTopic: 'myApp.thirdTopic.',
        fourthTopic: 'myApp.fourthTopic.',
    };
Run Code Online (Sandbox Code Playgroud)

已解决的主题应如下所示 myApp.firstTopic.someid.sometoken

var resolveTopics = function() {
    $q.all([getToken(), getUserId()])
    .then(function(){

        //How can I resolve these topics in here?

    });
}
Run Code Online (Sandbox Code Playgroud)

javascript asynchronous angularjs q

9
推荐指数
1
解决办法
1万
查看次数

标签 统计

angularjs ×1

asynchronous ×1

javascript ×1

q ×1