読者です 読者をやめる 読者になる 読者になる
WEB拍手ぱちぱちっと
Clap/拍手

01.MENU
Blog  / ブログ
Videos  / 動画
Pictures  / 絵
Game Materials  / 素材
SS(ShortStory)  / 小ネタ

02.MENU
Novels  / 小説
Chat  / チャット
BBS  / 掲示板
Others  / その他
Old Top  / 旧Top

Traffic Jam Products


JavaScriptのコールバック関数に引数を渡すメソッド

ごきげんよう。私です。

 

今日はJavaScriptを使っていて困った話。

QRコードを表示させるコードを書いたのです。

そのQRコードを画像として保存しようと思ったのです。600個ほど(ぉ

なので自動的にCanvaspngにして保存しようと考えていました。

 

自動保存まではできたのです。

ですが、困った問題が起きたのです。

 

JavaScriptのコールバック関数に引数を渡すメソッド

 

QRコードの名前と内容の文字列を一致させて保存しようとしたのですが、

canvas.toBlob()のコールバック関数に名前を上手く渡せないっ><

引数がblobだけなのですね、コレ。

こうなったら……っ!

強引にGlobal変数で無理やりどうっ!?

…………あぅ。

JavaScriptのあるあるですが、関数は順番に0,1,2...と実行されるわけではないので名前と内容がずれて涙目……。

 

そこで四苦八苦して思い立ったのがクロージャでした。

 

JavaScriptでCallBackに引数を渡す

//Canvaspngにして自動で保存(var sの中身はファイル名の配列)

 

(function(fileName){

  canvas.toBlob(function(blob) { saveAs(blob, fileName + ".png");}, "image/png");

})(s[i]);

 

はいw

これで無事、外から引数をわたしてあげることができました!

 

 

 

Official LINE Account
友だち追加
@hgf7288s