2016-05-31 14 views
-1

私は$ http.postからの約束を使って、レコードの新しいIDを整数として取得し、次の$ http.postのために使用しようとします。私はHow do I return the response from an asynchronous call?を使用しましたが、それでも問題はありません。

最後のconsole.logは、「streckenId」はまだ定義されていません。約束が解決されている場合にのみ

+0

あなたは質問に対する回答をよく読まず、まだ設定されていないものを使用しようとしています。 –

+0

あなたは私に冗談を言っていますか?私は上記のスレッドで解決しようとしているが、それは動作しないので、私はまだ助けを得ない?素晴らしいコミュニティ! – J4ck

+0

それはうまくいく、あなたは単にそれを間違って実装しました。 –

答えて

0

、コード変更、サーバーから、このような本

var streckenId; 
var trackpunktId; 

var getStreckeID = function() { 
    return $http.post(dbStrecke, {"ort": location, "distanz": km}); 
}; 

getStreckeID().then(function(response) { 
    streckenId = response.data; 
    console.log("ID (then): " + streckenId); // return ID 
}); 

データが利用できるようになります。 約束を解決した後に割り当てが行われます。そうでなければstreckenIdundefinedになります。

+0

あなたの答えをありがとうが、まだ動作しません。そこからconsole.logは未定義のメッセージを返します – J4ck

+0

レスポンスの内容を確認しましたか? – Ashot

+0

はい、.then(){}内の応答は正しいID – J4ck