javascript 无法调用typeScript中的函数

wbrvyc0a  于 2022-11-20  发布在  Java
关注(0)|答案(2)|浏览(127)

我正在尝试调用recorder.start();在我的javascript中,但是控制台错误显示recorder.start()不是一个函数。我做错了什么?

const recordAudio=async function() {
  const stream = await  navigator.mediaDevices.getUserMedia({ audio: true });
  const mediaRecorder = new MediaRecorder(stream);
  const audioChunks = [];

  mediaRecorder.addEventListener("dataavailable", event => {
    audioChunks.push(event.data);
  });

  let start = function(){ mediaRecorder.start()};
 
};
const handleAction=function() {
const recorder = recordAudio();
const actionButton = document.getElementById('action');
actionButton.disabled = true;
recorder.start();

}
kh212irz

kh212irz1#

recordAudio函数返回Promise<void>
而是返回mediaRecorder,或者返回包含start方法对象

return { start }

然后您可以使用const recorder = await recordAudio();获取示例的值

mzillmmw

mzillmmw2#

It's a Promise
您得到的是Promise示例而不是函数示例,因此start()不存在。
也许你可以在recordAudio()中调用start(),它会在你的流准备好后执行。

相关问题