提示类型错误
来源: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回答
-
yield call返回的数据,指定为number类型,之前的currentTime变量修改为time,不然会提示和函数currentTime重名
// getCurrentTime可以指定返回的是Promise<number> const getCurrentTime = (): Promise<number> => { return new Promise((resolve) => { if (sound && sound.isLoaded()) { sound.getCurrentTime(resolve); } else { resolve(0); } }); };
012021-03-18
相似问题