title: Zone Symbol currentTask Ionic2 error using multiple promises
body: <p>what does <code>__zone_symbol__currentTask</code> mean? Im working on with Ionic2 and caught this object see my attached image. I'm trying to use multiple promises, does these error related to promises?</p>
  
  <p>I also sent an issue to <a href="https://github.com/angular/zone.js/issues/796" rel="nofollow noreferrer">https://github.com/angular/zone.js/issues/796</a></p>
  
  <p><a href="https://i.stack.imgur.com/EsYeN.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/EsYeN.png" alt="enter image description here"></a></p>
  
  <pre><code>useCamera(){
  
      const getURI = () =&gt; {
                  const opts: CameraOptions = {
                      quality: 100,
                      mediaType: this.camera.MediaType.PICTURE,
                      encodingType: this.camera.EncodingType.JPEG,
                      destinationType: this.camera.DestinationType.FILE_URI,
                      targetWidth: 200,
                      targetHeight: 200,
                      correctOrientation: true,
                      saveToPhotoAlbum: false
                  };
  
                  let promise = new Promise( (resolve, reject) =&gt; {
                      this.camera.getPicture(opts)
                      .then( (uri) =&gt; {
                      resolve(uri);
                  })
                  .catch( (err) =&gt; { reject(err) });
              });
              return promise;
          }
  
          // # 2
          const moveFile = (uri) =&gt; {
              const _extension = '.' + this.getFileExtension(uri);
              const _name = this.getFileName(uri) + _extension;
              const _newPath = this.myStoragePath;
              const _newName = 'camera_' + this.hashName() + _extension;
              const _uri = uri.substring(0, uri.lastIndexOf('/') + 1);
  
              let promise = new Promise( (resolve, reject) =&gt; {
                  this.file.moveFile(_uri, _name, _newPath, _newName)
                  .then( (res) =&gt; {
                      resolve(res.nativeURL);
                  })
                  .catch( (err) =&gt; {
                      alert('COPY_FILE_CAMERA_ERR ' + JSON.stringify(err));
                      reject(err);
                  });
              });
              return promise;
          }
  
          // # 3
          return getURI().then(moveFile)
      }
  
      //////////////////////
      // THE CALLER OUTSIDE
      //////////////////////
      this.cameraSettings
          .useCamera() // &lt;------------------ entry point
              .then( (res) =&gt; {
                alert('USER.TS_OPEN_CAMERA_SUCC ' + JSON.stringify(res))
              })
              .catch( (err) =&gt; {
                alert('USER.TS_OPEN_CAMERA_ERR ' + JSON.stringify(err))
              });
  </code></pre>