工作中的一些经验

Promise放在循环里面的问题

  • Promise放在循环里面任务是串行的,所以可以能会造成下面的任务等待很久从而未知错误的产生
  • 暂时规避这个问题的方法:(1)定义一个数组装 Promise初始化的实例 (2)使用 Promise.all将多个promise变成并行执行 (3) 然后再执行循环操作。
// getComponentConstructor是Promise
 const INIT_BUTTON_NUMBER = 3;
        const test = [];
        for (let i = 0; i < INIT_BUTTON_NUMBER; i++) {
            test.push(getComponentConstructor());
        }
        const Constructors = await Promise.all(test);
        Constructors.forEach((Constructor) => {
            const com = new Constructor(element);
            com.config.top = top;
            children.push(com);
            left += 100;
        });
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容