小编Wil*_*ger的帖子

Promise.all() 不等待异步进程

在 Node.js 中,我尝试循环某些项目,为每个项目完成一个异步过程,然后等待每个项目完成后再开始下一个项目。我一定做错了什么,因为 Promise.all() 没有等待任何异步进程完成!我的代码如下:

getChildLessons() {

 return new Promise((resolve, reject) => {

  Promise.all(

    //nested for loop is needed to get all information in object / arrays
   this.lessons.levels.map((item, i) => {

      item.childlevels.map((childItem, iChild) => {

        return ((i, iChild) => {

          //return async process with Promise.resolve();
          return this.horseman
          .open(childItem.url)
          .html()
          .then((html) => {
            //adding some information to an array
          })
          .then(() => {
              return Promise.resolve();
          }).catch((err) => {
            reject(err);
          });

        })(i, iChild);

      });
  })

  // Promise.all().then()
).then(() => {
  resolve(this.lesson);
}) …
Run Code Online (Sandbox Code Playgroud)

asynchronous node.js promise es6-promise

6
推荐指数
2
解决办法
2万
查看次数

为什么不将JSX保存为const渲染

我对React和JSX相当新,但我的印象是你可以将JSX保存为几乎任何东西(var,const,let ......).

但是,当我将它保存为const并尝试渲染它时:

import React from 'react';
import ReactDOM from 'react-dom';

const Test =  <div> hi </div>;

ReactDOM.render((
    <div>
        <Test />
    </div>
), document.getElementById('root'));
Run Code Online (Sandbox Code Playgroud)

我收到错误消息:

React.createElement:type无效 - 期望一个字符串(对于内置组件)或一个类/函数(对于复合组件)但得到:object.

当我用以下内容替换测试const时:

const Test = () => { return( <div> hi </div> ) };
Run Code Online (Sandbox Code Playgroud)

它没有问题.为什么我不能使用第一个版本?

javascript jsx reactjs

4
推荐指数
2
解决办法
671
查看次数

标签 统计

asynchronous ×1

es6-promise ×1

javascript ×1

jsx ×1

node.js ×1

promise ×1

reactjs ×1