0

「tapped」をログに記録してHUDをできるだけ早く実行したいのですが、oauth_upload_photoが原因で遅延が発生しています(明らかにホイストが原因です)。HUDを即座にスナップするにはどうすればよいですか??

var submit_post = function submit_post(){

    console.log('tapped');

    // Show HUD
    plugins.navigationBar.hideRightButton();
    var hud = document.getElementById("hud");
    hud.style.display = 'block';    

    // Get the image
    var image = document.getElementById('myImage');
    var imageURI = image.src;

    // Get the caption from the textarea
    var cap = document.getElementById('tar');
    var caption = cap.value;

    // Call upload photo
    oauth_upload_photo(imageURI,caption);

};
4

1 に答える 1

1

あなたの問題(あなたが実際に何を求めているのかを理解する前にもっと多くの説明が必要です)は、javascript変数の巻き上げとは何の関係もありません。巻き上げが行うのは、最初の宣言が関数のどこにあるかに関係なく、変数を関数の先頭で定義することだけです。ステートメントの実行順序は変更されません。

また、一部のブラウザconsole.log()では完全な同期が保証されておらず、ログウィンドウへのデータの表示も必ずしも即時ではありません。実際にログに記録されるまでに遅延が発生する場合があります。これがプロセス境界を越えたデータのマーシャリング、一般的な再描画ロジック、またはその他の内部実装の問題が原因であるかどうかはわかりません。

これを変更することもできます。

var submit_post = function submit_post(){

これに:

var submit_post = function (){

またはこれさえ:

function submit_post() {

したがって、同じシンボルを二重に定義することはありません。

于 2012-09-03T21:58:40.210 に答える