На примере обычного экспорта функций в JS и участка кода на Svelte.
Файл 1: JS файл экспортируемых функций
let timeout = null;
export function updateWait(item, updateNote) {
clearTimeout(timeout);
timeout = setTimeout(function () {
updateNote(item);
}, 1000);
}
export function updateWait(item, updateNote) {
clearTimeout(timeout);
timeout = setTimeout(function () {
updateNote(item);
}, 1000);
}
Файл 2: Svelte
— Сначала мы импортируем функцию.
— Затем основная функция, которая мы дальше передадим в импортированную функцию.
— И в самом низу мы вызываем импортированную функцию и передаем туда параметры: один из параметров — вторая функция.
<script>
import {updateWait} from '../../assets/js/universal';
function updateOperation(operation) {
let data = {
'id_': operation.id,
'note': operation.note
}
patchFetch('update/', data);
}
</script>
<textarea rows="2"
bind:value="{operation.note}"
on:keydown="{handle}"
on:paste="{handle}"
on:input="{()=> updateWait(operation, updateOperation)}"
></textarea>
import {updateWait} from '../../assets/js/universal';
function updateOperation(operation) {
let data = {
'id_': operation.id,
'note': operation.note
}
patchFetch('update/', data);
}
</script>
<textarea rows="2"
bind:value="{operation.note}"
on:keydown="{handle}"
on:paste="{handle}"
on:input="{()=> updateWait(operation, updateOperation)}"
></textarea>