GASでAPIを作成した際に、
・データを受け取る
・スプレッドシートに入力
の過程をふんでいたのですが、この処理を高速化したいと思い、いくつかの文献を当たっていました。
そこで、次のサイトに、以下のような記述がありました。
https://befool.co.jp/blog/8823-scholar/gas-use-cache/
たとえば、シートの取得処理を、異なる関数内で個別に行うのであれば、> それは、やはり、何かしら変数の共有方法を考える必要性があるでしょう。
(関数の引数にシートを求める、シートの取得処理をラップしてシングルトン実装にする、グロバール変数を利用する、などなど)
引用テキスト
ちなみに、自分はこんな感じでシートに関する処理をラップしています。Javascript
1/** 2 * シートをラップするクラス 3 * 4 * シートに対してのメソッドはこのクラスを通して行うことで、 5 * シート取得や、必要であればレンジの取得なども内部的にキャッシュさせ、 6 * APIコールを減らしている 7 */ 8(LibrarySS = function(ss) 9{ 10 this.ss = ss; 11}).prototype = new Object(); 12 13/** 14 * シートの取得(シングルトン的挙動) 15 */ 16LibrarySS.get = function() 17{ 18 if (! LibrarySS._ss) { 19 LibrarySS._ss = SpreadsheetApp.getActive() || SpreadsheetApp.openById("シートID"); 20 } 21 return new LibrarySS(LibrarySS._ss); 22}
関数やオブジェクトのラップは、仕様変更がなされたときの保守性やメンテナンス性のために行うものと思っていたのですが、高速化にも影響があるのでしょうか。
よろしくお願いいたします。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。