スタートページ> Javascript> CANVAS> アニメーション
JavaScript には sleep関数 がありません。同様な機能を実現するために、async, await, Promise があります。
// フォーム入力の取得
:
// XY座標軸の設定
:
// 初期値設定
dx = (xmax-xmin)/100;
x = xmin;
x0 = x;
y0 = eval(f);
// グラフ
while(x <= xmax) {
x = x + dx;
y = eval(f);
drawLine(x0,y0, x,y, "white", 4);
x0 = x;
y0 = y;
}
:
// グラフ
async function 遅延() { // ア
while(x <= xmax) {
await new Promise(s => setTimeout(s, interval)) // イ
x = x + dx;
y = eval(f);
drawLine(x0,y0, x,y, "white", 4);
x0 = x;
y0 = y;
}
}
遅延(); // ウ
:
// グラフ
function sleep(ms) {
return new Promise(s => setTimeout(s, ms)); // エ
}
async function 遅延() {
while(x <= xmax) {
if ( (x>0) && (x<2) ) await sleep(100); // オ
else await sleep(20);
x = x + dx;
y = eval(f);
drawLine(x0,y0, x,y, "white", 4);
x0 = x;
y0 = y;
}
}
遅延();