code: function heapSnapShotCalculateP(heapData, options) {
          return co(_heapSnapShot, heapData, options)
  
          /**
           * 内部方法，具体处理逻辑
           */
          function* _heapSnapShot(heapData, options) {
              const jsHeapSnapShot = new common.worker.JSHeapSnapshot(heapData, {
                  updateStatusP(msg, end) {
                      const cb = options.callback;
                      const params = options.params.apply(options, [msg, Date.now(), end]);
                      return cb(params.message, params.socket);
                  },
  
                  consoleWarn(str) {
                      // console.warn(str);
                  }
              });
              //load data
              yield jsHeapSnapShot.initializeP();
  
              const needed = [`_statistics`, `_aggregates`, `_metaNode`, `nodes`, `containmentEdges`, `strings`, `_nodeFieldCount`, `_edgeFieldsCount`, `_firstEdgeIndexes`, `_retainedSizes`, `_nodeDistances`];
              //taken out
              Object.keys(jsHeapSnapShot).forEach(key => { if (!~needed.indexOf(key)) jsHeapSnapShot[key] = null; });
              //release heapData
              heapData = null;
  
              return jsHeapSnapShot;
          }
      }
docs: 获取 jsHeapSnapShot & heapMap