2015-11-17 84 views
1

我想在回調函數後面運行一段代碼;但是,因爲它是一個回調函數,回調函數內的runFirst()函數在runSecond()函數之後運行。有沒有簡單的方法來解決這個問題?如何在Angular中的回調函數之後運行代碼?

$http.get($requestURL).success(function(response){ 

    argument = runFirst(); 

    }); 
}); 

runSecond(argument); 
+0

在'runFirst()'函數中使用promise。 –

+0

你能發佈一個片段嗎? – jarvan

+0

你能提供'runFirst();'的代碼嗎? –

回答

4

使用承諾鏈接。

$http.get('your url').then(
    function(response) { 
     return runFirst(); 
    } 
).then(
    function(argument) { 
     runSecond(argument); 
    } 
); 
+0

我們可以做.success然後使用。然後? – jarvan

+1

是的,成功返回一個承諾。 –

2

您可以使用承諾。

$http.get($requestURL).then(function(response){ 

    argument = runFirst().then(runSecond()); 

    }); 
}); 

你只需要確保runFirst()返回一個承諾爲好。

文檔:$q documentation

相關問題