2016-03-01 5 views
1

Я использую и runnint начала работы кода:TypeError: client.getReceiver не является функция в лазури-ИТНЕ-устройства-клиенте примеров

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 is not a function

ответ

1

Похоже, что это ошибка в примерах библиотек. Не похоже, что он определяет client.getReceiver. Вероятно, вы должны совершить ошибку здесь: github issues.

Попробуйте использовать

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

в качестве обходного для

client.getReceiver(function (err, rcv) { 

, пока они не исправить ее в библиотеке.

+0

Использование _transport сработало. Благодаря! – BlueCastle