Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 尝试编写承诺时出错:承诺解析程序对象不是函数_Javascript_Reactjs - Fatal编程技术网

Javascript 尝试编写承诺时出错:承诺解析程序对象不是函数

Javascript 尝试编写承诺时出错:承诺解析程序对象不是函数,javascript,reactjs,Javascript,Reactjs,有人能告诉我写这个承诺的时候我做错了什么吗?我希望执行calculate中的第一个函数,然后在计算完成后设置组件的状态 var calculate = new Promise({ function(resolve, reject) { var newSubtotal = 0; var newTotal = 0; this.props.cart.map((product)=&

有人能告诉我写这个承诺的时候我做错了什么吗?我希望执行calculate中的第一个函数,然后在计算完成后设置组件的状态

var calculate = new Promise({

            function(resolve, reject) {
                var newSubtotal = 0;
                var newTotal = 0;

                this.props.cart.map((product)=>{

                    newSubtotal += product.price;
                    newTotal += product.price;
                    newTotal *= 1.10;

                });
                resolve(newSubtotal, newTotal);
            }
        });

        calculate.then(() => {
            this.setState({
              subtotal: newSubtotal,
              total: newTotal
            });
        });

因为您正在传递对象,但需要函数

应该是这样的

var calculate = new Promise(function(resolve, reject){
// some stuff
})

因为您正在传递对象,但需要函数

应该是这样的

var calculate = new Promise(function(resolve, reject){
// some stuff
})
在代码中

 calculate.then(() => {
        this.setState({
          subtotal: newSubtotal,
          total: newTotal
        });
    });
无法访问newSubtotal、newTotal

怎么样

 calculate.then((newSubtotal, newTotal) => {
        this.setState({
          subtotal: newSubtotal,
          total: newTotal
        });
    });
另外,添加:
reject(someFailCase)

在您的代码中

 calculate.then(() => {
        this.setState({
          subtotal: newSubtotal,
          total: newTotal
        });
    });
无法访问newSubtotal、newTotal

怎么样

 calculate.then((newSubtotal, newTotal) => {
        this.setState({
          subtotal: newSubtotal,
          total: newTotal
        });
    });
另外,添加:
reject(someFailCase)