Как передать значение функции и установить его в другую переменную?

0

У меня есть флаг sendMessageFlag если его true я хочу установить функцию obj в fileData но он всегда говорит undefined.

ctrl.js

var sendMessageFlag;

function sendMessageToFile (data){
    return data;
}

socket.on('ditConsumer',function (data) {
     var obj = {
         file:$scope.filename,
         data:data
     }

     if(sendMessageFlag) {
         console.log('send messageto FIe in consumer');
         sendMessageToFile(obj);
     }
});

if($scope.filename) {
     sendMessageFlag = true;
     var fileData = sendMessageToFile(data);
     console.log('CONSUMER MESSAGE', fileData);
     socket.emit('startrecording', fileData);
}
  • 0
    Извините, какая переменная становится неопределенной?
  • 0
    Где находятся параметры data в этой строке var fileData = sendMessageToFile(data); приходящий из?
Теги:

2 ответа

0

Вы не инициализировали значение sendMessageFlag при объявлении переменной вверху. Если сначала запускается socket.on('ditConsumer'), значение не определено. Возможно, вы захотите инициализировать его с помощью false, а затем установите его значение true в блоке if внизу.

  • 0
    если блок выполняется, когда значение равно true, единственная проблема в том, что значение функции не устанавливается в fileData
  • 0
    Вы поняли, хотя я не знаком с socket когда socket.on() ?
0

Если я правильно понял, ниже - это решение (так что вы не получите неопределенное значение в 'console.log(' CONSUMER MESSAGE ', fileData);':

if(sendMessageFlag) {
     console.log('send messageto FIe in consumer');
     return sendMessageToFile(obj);
}

Вы также должны вернуться из условия if.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню