title: ble web cannot read from a characteristic
body: <p>I built up a bee peripheral module using blend on the raspberry pi that sends a list of wifi network. The snippet for the read characteristics :</p>
  
  <pre><code>class ResultCharacteristic extends bleno.Characteristic {
  constructor() {
      super({
          uuid: RESULT_UUID,
          properties: ["read"],
          value: null,
          descriptors: [
              new bleno.Descriptor({
                  uuid: ARGUMENT_1_UUID,
                  value: "Calculation result"
                })
          ]
      });
  
  
  }
  
  onReadRequest(offset, callback) {
      try {
  
          const result = scannedNetworks.join();
      console.log(result);
          console.log(`Returning result: ${result}`);
  
          let data = new Buffer(result);
  
          callback(this.RESULT_SUCCESS, data);
      } catch (err) {
          console.error(err);
          callback(this.RESULT_UNLIKELY_ERROR);
      }
  }
  </code></pre>
  
  <p>}</p>
  
  <p>Now I check for the data received on my iPhone using LightBlue and I see a list of wifi ssids. </p>
  
  <p>When I read the characteristics from ble web, I get a "NotSupportedError: GATT operation failed for unknown reason."</p>
  
  <p>here is the part to read that characteristics.</p>
  
  <pre><code>navigator.bluetooth.requestDevice(options)
    .then(device =&gt; {
      console.log('&gt; Name:             ' + device.name);
      console.log('&gt; Id:               ' + device.id);
      console.log('&gt; Connected:        ' + device.gatt.connected);
      return device.gatt.connect();
    })
    .then(server =&gt; {
  
      return server.getPrimaryService(tem);
    })
    .then(service =&gt; {
      // console.log('services');
      // console.log(service);
      return service.getCharacteristic('00010010-89bd-43c8-9231-40f6e305f96d');
    })
    .then(characteristic =&gt; {
      listn = characteristic;
      // console.log(characteristic);
      // listn.addEventListener('characteristicvaluechanged', (e) =&gt; {
      //   console.log('fired');
      //   console.log(decoder.decode(e.target.value));
      // });
      // console.log(characteristic);
      // return characteristic.getDescriptors();
      return characteristic.readValue();
    })
    // .then(descriptors =&gt; {
    //   // return descriptors.readValue();
    //   console.log(descriptors);
    // })
    .then(value =&gt; {
      // let decoder = new TextDecoder('utf-8');
      console.log(value);
    })
    .catch(error =&gt; {
      console.log('Argh! ' + error);
    });
  }
  </code></pre>
  
  <p>Can anyone help me?</p>