提示类型错误

来源:12-9 暂停以及进度条展示播放时间(下)

小资要奋斗

2021-03-17

'yield' expression implicitly results in an 'any' type because its containing generator lacks a return-type annotation.

在撰写getCurrentTime的时候 提示这行语句,这个改怎么解决

function* currentTime({call, put}: EffectsCommandMap) {
  while (true) {
    yield call(delay, 1000);
    const currentTime = yield call(getCurrentTime);
    yield put({
      type: 'setState',
      payload: {
        currentTime,
      },
    });
  }
}
const getCurrentTime = () => {
  return new Promise((resolve) => {
    if (sound && sound.isLoaded()) {
      sound.getCurrentTime(resolve);
    } else {
      resolve(0);
    }
  });
};
写回答

1回答

今朝

2021-03-17

yield call返回的数据,指定为number类型,之前的currentTime变量修改为time,不然会提示和函数currentTime重名

//img.mukewang.com/szimg/6052192d098a709311420556.jpg

// getCurrentTime可以指定返回的是Promise<number>
const getCurrentTime = (): Promise<number> => {
  return new Promise((resolve) => {
    if (sound && sound.isLoaded()) {
      sound.getCurrentTime(resolve);
    } else {
      resolve(0);
    }
  });
};


0
1
小资要奋斗
非常感谢!
2021-03-18
共1条回复

跨平台应用ReactNative+TypeScript仿喜马拉雅开发App

从入门到实战,掌握用TypeScript开发ReactNative应用

838 学习 · 340 问题

查看课程