以下に、extjs4アプリケーションに現在ログインしているユーザーを設定するためのコードを示します。アラートのコメントを外すと、コードはアラートが受け入れられるまで待機してから続行するようです(そう思われます)。これにより、非同期呼び出しが正常に完了するのに十分な時間が与えられます。アラートをコメントアウトすると、AJAX呼び出しが時間内に戻らなかったため、変数「employeeFilter」が設定されません。その場合、代わりに「employeeFilter」をnullに設定します。AJAX応答が正常に返されるまで待機するように、これを修正するにはどうすればよいですか?
var loggedInUserId = null;
Ext.Ajax.request({
url: '/Controls/UserList/UserService.asmx/GetLoggedInUserId',
method: 'POST',
jsonData: { 'x': 'x' },
success: function (response, opt) {
loggedInUserId = Ext.decode(response.responseText).d;
},
failure: function (response) {
}
});
//alert(loggedInUserId);
var employeeFilter = loggedInUserId;
var projectFilter = '-1';