は、私は(私が剥離し、簡略化していること)、次のコードを持っている:JavaScriptコールバック関数を最初に実行するにはどうすればよいですか?
function myOrder() {
setLocation(); // sets a value for global variable 'location'
// using GET
$.post('http://111.111.111.111/order', {
Item: Chair,
Price: 50,
Location: location;
})
}
問題は、この関数はのsetLocation()コールバック関数が終了する前にポスト()のコードを実行していることです。
最初に終了するにはsetLocation()関数が必要なので、 'location'のグローバル変数を割り当てることができます。これはPOST部分の値として使用されます。
これを行うことができますか?
おかげ
編集:明確にする: のsetLocation()GPSとグローバル変数名「場所」の下に格納します経由して現在位置を取得するGET要求、です。
私は、コールバック関数の前にmyOrder()メソッドPOSTSがGET応答を終了したと思います。
あなたが実装を追加することができます'setLocation'の? – trincot
[Promises](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise)を見てください。関数setLocationは1を返す必要があります。 – Ricky
setLocationは、関数が正常に実行されたときに解決されるPromiseを返します。投稿要求を.then()ハンドラに追加することができます。 –