2017-02-09 3 views
0

に私がコアのコールバックや機能を実行する方法を知っているが、私はこのユースケースを希望:どのようにコールバック関数を持つように、機能(){Javascriptを

loadCSSFunction('/stylesheets/swiper.css',function (e){ 

     Execute code 
     //Do some jquery call to a plugin for example 

    }); 

にはどうすればできるようにloadCSSFunctionを構築しますこれらの機能を形成するために、アクションが起こったら(CSSを頭に注入すると)、CSS注入に依存するものを実行できます。

更新: このCSS要素は関連性がなく、例の一部であり、質問には関連しないことに注意してください。もし私がそれを非同期などに注入したいなら、私はやるでしょう。

ファンクションコール:

doSomethingWithFile('/folder/file.file',function (e){ 

     Execute code 

    }); 

機能:

doSomethingWithFile: function(file){ 
     var mything = 'thing'+file; 

    } 
+0

機能は、単にロードを実行するために呼び出しているものは何でものコールバック引数としてそのコールバックパラメータを渡します。 – Barmar

+0

'loadCSSFunction'がCSSの読み込みをどのように行うのかを示したら、それを修正する方法をアドバイスできます。 – Barmar

+0

http://stackoverflow.com/questions/5537622/dynamically-loading-css-file-using-javascript-with-callback-without-jquery –

答えて

1

ちょうどコールバックパラメータを使用して関数を定義します。

例えば、

function loadCSSFunction(url, callback) { 
    //do you CSS loading. 
    //we have now loaded lets call the callback 
    var e = 'something to pass to callback'; 
    callback(e); 
} 

ファイルで何かをするのは、あなたのCSSローダーとあまり変わりません。

doSomethingWithFile: function(file, callback){ 
    var mything = 'thing'+file; 
    //do what you want to do with file, 
    //again it doesn't matter if it's async/sync. 
    //just call the callback when done.. 
    //eg below, readFileContents might be an async function 
    readFileContents(file, function (err, data) { 
    //normally async callbacks usually pass an err param 
    //you should normally check for this too. 
    if (err) callback(err); //if we have error pass it along. 
    else callback(null, data); //here were sending our result back 
    }); 
} 

そして今、我々はdoSomethingWithFileを使用することができます。..

doSomethingWithFile('thefile.txt', function (err, data) { 
    if (err) console.error(err); 
    else console.log(data); 
}); 
+1

CSSを読み込んでいるものが非同期になる可能性が高いため、非同期ローダーのコールバックでコールバックを呼び出す必要があります。 – Barmar

+0

確かに、CSSの残りの部分がなくても、彼はできると言っていましたが、まだこれを表示するのはちょっと面倒です。 – Keith

+0

実際、答えようとする前に質問を明確にするのを彼が待つべき理由があります。 – Barmar

関連する問題