Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/33.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 Angular2$http promises with Promise.all()_Javascript_Angular - Fatal编程技术网

Javascript Angular2$http promises with Promise.all()

Javascript Angular2$http promises with Promise.all(),javascript,angular,Javascript,Angular,我正在尝试在angular2中实现一个简单的承诺模式。其思想是在两个承诺得到解决时执行一段代码 方法是使用Promise.all()并在我的服务中传递承诺: predict(data): Promise<any> { let headers = new Headers({'Content-Type': 'application/json'}); let dataString = JSON.stringify(data); return this.htt

我正在尝试在angular2中实现一个简单的承诺模式。其思想是在两个承诺得到解决时执行一段代码

方法是使用
Promise.all()
并在我的服务中传递承诺:

predict(data): Promise<any> {
    let headers    = new Headers({'Content-Type': 'application/json'});
    let dataString = JSON.stringify(data);

    return this.http
      .post(`${this.baseUrl}/predict`, dataString, headers)
      .toPromise()
      .then(
        (res: Response) => Promise.resolve(res.json())
      )
      .catch(
        (err) => Promise.reject(err)
      );
  } // predict
但是TypeScript返回的参数与调用目标的任何签名都不匹配。

据我所知,这些方法都是承诺,所以。。。我想不出是什么问题。

应该是

Promise.all([promiseOne, promiseTwo])

。。。由于此方法只接受一个参数(例如数组)。

您应该忽略不必要的
承诺.resolve
捕获((err)=>Promise.reject(err))
Promise.all([promiseOne, promiseTwo])