我需要等到请求完成然后在范围中插入数据然后发出它们。
这是我的代码:
$scope.channels = [];
channelsFactory.getChannels()
.then(function (data) {
$.each(data.data, function (index, value) {
$scope.channels.push(value.channel);
});
});
//SUBSCRIBE CHANNEL
socket.on('connect', function () {
$scope.$watch('channels', function (newValue, oldValue) {
console.log(newValue);
socket.emit('subscribe', {channel: newValue});
});
});
我的代码问题有时console.log(newValue);
将返回空数组,即使来自api的数据也是如此。对此有何解决方案?