【发布时间】:2022-01-03 07:37:30
【问题描述】:
我尝试搜索此内容,但找不到与我需要的案例相匹配的内容。
我这里有这个不能修改的功能:
function generate() {
const delay = 7000 + Math.random() * 7000;
const num = Math.random();
return (callback) => {
setTimeout(() => {
callback(num);
}, delay);
};
}
当我尝试调用 generate() 之类的函数时,我得到一个错误。我也尝试过使用基于承诺的方法,例如:
const result = await generate();
return result;
但是当我这样做时,返回的结果是一个承诺,我无法将其呈现到 JSX(我正在使用 React)。
JSX 组件代码(目前用于调试目的):
const Test = () => {
return <>{generate()}</>;
};
如果有任何建议,我将不胜感激。谢谢!
【问题讨论】:
-
错误是什么?
generate函数是什么? -
听起来你想
return new Promise(generate())? -
"我无法渲染到 JSX(我正在使用 React)。" - 如果代码不起作用,请向我们展示该代码。 (你甚至可能不需要承诺或异步/等待反应!)而且看起来你删除了
generate函数代码的第一行
标签: javascript reactjs async-await callback settimeout