1.0.1 • Published 1 year ago

alm-tasker.js v1.0.1

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

Tasker

非同期処理の流れをわかりやすく設計することができるJavaScriptライブラリです。

🚀 Install

以下のコードをによって読み込みます。

<script src="https://cdn.jsdelivr.net/npm/alm-tasker.js/dist/index.min.js"></script>

✍ Examples

Example1

1秒後にコンソールにcompleteと表示する。

tasker.serial(
    tasker.delay(1000),
    tasker.log('complete'),
).run();

Example2

xを0から100まで1秒かけて変化させる。その間xの値をコンソールに出力し続け、トゥイーンが完了するとコンソールにcompleteと表示する。

x = 0;
tasker.tween(1000, alm_coreutil.Easing.easeOutSine)
    .target(this, 'x', 100)
    .onUpdate(() => {
        console.log(x);
    })
    .onComplete(() => {
        console.log('complete');
    })
    .run();

Example3

x = 0;
y = 50;
tasker.tween(1000, alm_coreutil.Easing.easeOutSine)
    .target(this, 'x', 100)
    .target(this, 'y', 100)
    .onUpdate(() => {
        console.log(x);
    })
    .onComplete(() => {
        console.log('complete');
    })
    .run();

Example4

x = 0;
tasker.serial(
    tasker.tween(1000, alm_coreutil.Easing.easeOutSine).target(this, 'x', 100),
    tasker.tween(2000, alm_coreutil.Easing.easeInQuart).target(this, 'x', 50),
    tasker.log('complete'),
).run();

✍ Task Functions

call

tasker.call(() => {
    console.log('complete');
})

callback

tasker.callback((resolve) => {
    console.log('complete');
    resolve();
})

delay

tasker.delay(1000)

branch

rnd = Math.random() < 0.5;
tasker.branch(rnd, () => {
    console.log('then');
}, () => {
    console.log('reject');
})
tasker.branch(() => {
    return Math.random() < 0.5;
}, () => {
    console.log('then');
}, () => {
    console.log('reject');
})

listen

tasker.listen(target, 'complete')

log

tasker.log('hello')
tasker.log('hello', 'world')

tween

x = 0;
tasker.tween(1000, alm_coreutil.Easing.easeOutSine).target(x, 100)
x = 0;
tasker.tween(1000, alm_coreutil.Easing.easeOutSine).target(x, 100, { from: -100 })

serial

tasker.serial(
    tasker.delay(1000),
    tasker.delay(2000),
    tasker.delay(3000),
    tasker.log('complete'),
)

parallel

tasker.parallel(
    tasker.delay(1000),
    tasker.delay(2000),
    tasker.delay(3000),
    tasker.log('complete'),
)

br

tasker.br()

ret

tasker.ret()

nop

tasker.nop()

📗 Docs

APIリファレンス

1.0.1

1 year ago

1.0.0

1 year ago