=> {
sound.play(() => {
sound.release();
});
};
const sound = new Sound(this.url, null, error => callback(error, sound));
Так работает
const sound = new Sound(this.url, null, error => (error, sound) => {
sound.play(() => {
sound.release();
});
});
а вот так нет, почему ? Записи эквивалентны...
Не эквивалентны. В первом случае у вас вызов callback , во втором - описание. В вашем втором примере (без учета требований линтинга и т.п.) с использованием IIFE (https://getinstance.info/articles/javascript/immediately-invoked-function-expressions/) рабочий вариант выглядит примерно так: const sound = new Sound(this.url, null, error => ((error, sound) => { sound.play(() => { sound.release(); }); })(error, sound));
Обсуждают сегодня