私の例 #1 ではアラートが適切な順序 1、2 で起動するのに、なぜ ajax 呼び出しを追加する例 #2 では起動順序が 2,1 になるのか疑問に思っています。また、ajax呼び出しを使用して、1、2の望ましい発火順序を達成する方法を誰かが提案できますか...私は困惑しています。
例 #1
uploader.bind('BeforeUpload', function (up, file, policy, sinature) {
//alert('1');
test();
function test() {
alert('1');
}
});
uploader.bind('UploadFile', function (up, file, policy, signature) {
test2();
function test2() {
alert('2');
}
});
例 #2
uploader.bind('BeforeUpload', function (up, file, policy, sinature) {
//alert('1');
test();
function test() {
data = { alc: 'private', bucket: 'PhotojimaDev', file: file.name, key: path };
$.ajax({
url: sf.getServiceRoot('photojima') + "Upload/getPolicy",
type: 'POST',
data: data,
beforeSend: sf.setModuleHeaders
}).done(function (response, status) {
if (status == "success") {
policy = response.policy;
signature = response.signature;
alert('1');
}
}).fail(function (xhr, result, status) {
alert("Uh-oh, something broke: " + status);
});
}
});
uploader.bind('UploadFile', function (up, file, policy, signature) {
test2();
function test2() {
alert('2');
}
});