假设我有一系列的promises,每个元素都会对一个视图的图像(png)进行AJAX调用.
const images = Promise.all(views.map(view => {
return fetch(`/sites/${siteId}/views/${view.id}/image/`);
}));
Run Code Online (Sandbox Code Playgroud)
有没有可能使用Promise.all检查承诺解析的当前状态?如果没有,还有其他方法吗?
例如,如果下载了10/20个图像,我想给用户一个反馈,我们已经为他下载了50%的图像.
我在使用 TypeScript 书学习 React 进行编码时碰壁了。我投降了,直接从书上复制粘贴的代码,但是编译器还是不爽
我目前的解决方法是提供“任何”值,而不是 IProps,但这是一个廉价的黑客。
不工作的代码:
import * as React from 'react';
interface IProps {
loading: boolean;
}
const withLoader = <P extends object>(
Component: React.ComponentType<P>
): React.FunctionComponent<P & IProps> => ({ loading, ...props }:
IProps) =>
loading ? (
<div className="loader-overlay">
<div className="loader-circle-wrap">
<div className="loader-circle" />
</div>
</div>
) : (
<Component {...props} />
);
export default withLoader;
Run Code Online (Sandbox Code Playgroud)
工作代码(我只将 IProps 更改为 any):
import * as React from 'react';
interface IProps {
loading: boolean;
}
const withLoader = …Run Code Online (Sandbox Code Playgroud) types typescript reactjs higher-order-components react-props
arrays ×1
asynchronous ×1
javascript ×1
promise ×1
react-props ×1
reactjs ×1
types ×1
typescript ×1