How to implement billboard clustering without ‘datasource’

hi all!!!
My data is loaded for db,through the web service,not file.The format of the data is an array.So I can't set clustering by datasource.

code show as below:
var billboards = this.viewer.scene.primitives.add(new Cesium.BillboardCollection());
    $.ajax({
      type: "GET",
      url: "http://localhost:8099/source/getAll",
      dataType: "json",
      success: function (data) {
      poiListPt = data;
      for (var i=0;i<poiListPt.length;i++) {
        var pointCoor = poiListPt[i].point.substring(9,data[0].point.length-1).split(' ');
        var longitude = pointCoor[0];
        var latitude = pointCoor[1];
        var height = pointCoor[2];
        var pos = Cesium.Cartesian3.fromDegrees(longitude,latitude,height);
        var pointBillboard = billboards.add({
          position : pos,
          image : './images/default1.png',
          scale : 0.8,
        });
            
      }
//but it doesn't work
billboards.clustering.enabled = true;

Hi there,

Clustering isn’t an option with a primitive BillboardCollection. You can still create a CustomDataSource and add billboard entities, then set the clustering of that object.

Thanks,

Gabby