gpt4 book ai didi

lambda - 将参数传递给 TypeScript 中的回调函数

转载 作者:搜寻专家 更新时间:2023-10-30 21:00:39 25 4
gpt4 key购买 nike

这是我关于 SO 的第一个问题,如果我以某种方式搞砸了,我深表歉意:)

我正在尝试使用 Typescript 0.9.1.1 播放 WebAudio,但我目前无法使用 decodeAudioData 函数。

decodeAudioData 有几个参数:音频数据、成功回调和错误回调。成功回调传递了一个我需要访问的“缓冲区”参数,我想使用 lambda 函数来执行此操作,但我不知道该怎么做。

我的(非工作)代码是:

init()
{
audio_context.decodeAudioData( array_buffer, () => this.onDecode( buffer ) ) ;
}

onDecode( buffer:AudioBuffer )
{
// do things with buffer param
}

我可以编写一个像这样的长函数:

audio_context.decodeAudioData( array_buffer, function( buffer) { /* do stuff */ } ) ;

但如果我可以使用 lambda 函数,从长远来看会更干净、更容易。

编译后的JS出来

audio_context.decodeAudioData(array_buffer, function () {
return _this.onDecode(buffer);
}, function () {
return _this.onError();
});

所以我可以通过在函数声明中插入一个“缓冲区”参数来使其手动工作 - 但我该如何编写它以便 TypeScript 知道我正在尝试做什么?

提前致谢:)

最佳答案

只需在 lambda 函数中取一个参数。给你:

init()
{
audio_context.decodeAudioData( array_buffer, (buffer) => this.onDecode( buffer ) ) ;
}

onDecode( buffer:AudioBuffer )
{
// do things with buffer param
}

关于lambda - 将参数传递给 TypeScript 中的回调函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18657643/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com