小编Raf*_*ski的帖子

JavaScript Promise.all - 如何检查解决状态?

假设我有一系列的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%的图像.

javascript arrays asynchronous promise

8
推荐指数
2
解决办法
552
查看次数

React & TypeScript HOCs - 为什么我得到 Type '{}' 不能分配给 Type P?

我在使用 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

2
推荐指数
1
解决办法
819
查看次数