我正在从Android应用程序编写特征。我使用OnWriteRequest尝试使用ORM框架Sequelize从数据库中获取值,然后更新该值并调用updateValueCallback进行通知,但由于异步行为,该方法无法正常工作,因此未更新价值。
EchoCharacteristic.prototype.onWriteRequest = function(data, offset, withoutResponse, callback) {
this._value = data;
if(this._value =="cmd open")
{
Devices.findOne({ where: {client_address: '34:BF:60:TF:92:81'}
}).then(device => {
this._value = Buffer.from( "ok", 'utf8' )
if (this._updateValueCallback) {
console.log('EchoCharacteristic - onWriteRequest: notifying');
this._updateValueCallback(this._value);
}
callback(this.RESULT_SUCCESS);
})
}
};
如果(this._updateValueCallback).......并且未通知
,则不会出现在该块中