TypeError:client.getReceiver不是azure-iot-device-http示例中的函数

我正在使用azure-iot-device-http ,并运行入门代码:

var clientFromConnectionString = require('azure-iot-device-http').clientFromConnectionString; var Message = require('azure-iot-device').Message; var connectionString = 'myHostname,myDevice,myKey; var client = clientFromConnectionString(connectionString); var msg = new Message('some data from my device'); client.sendEvent(msg, function (err) { if (err) console.log(err.toString()); }); client.getReceiver(function (err, rcv) { rcv.on('message', function (msg) { console.log(msg); rcv.complete(msg, function () { console.log('completed'); }); }); rcv.on('errorReceived', function (err) { console.warn(err); }); }); 

但是我收到这个错误:

TypeError:client.getReceiver不是一个函数

这似乎是这个库的例子中的一个错误。 它看起来不像它定义client.getReceiver 。 你应该在这里提交一个bug: github问题 。

尝试使用

 client._transport.getReceiver(function (err, rcv) { 

作为解决方法

 client.getReceiver(function (err, rcv) { 

直到他们在图书馆里修好