Pusher удваивает журналы в консоли и на панели инструментов приложения - PullRequest
0 голосов
/ 11 июня 2018

Я столкнулся со странной ситуацией, когда использую Pusher с Laravel 5.6 (важно отметить, что все работает отлично), Я получаю двойные уведомления (оба на консоли @ разработчикаконсоль в браузере и консоль отладки в приложении Pusher).

Я не могу найти в своем приложении дублирующийся код pusher, поэтому меня это немного раздражает.

Вот скриншоткод из консоли разработчика: консоль разработчика .

А вот из консоли отладки: консоль отладки .

Кроме того, я прилагаю наиболее важную частькода:

// view.blade.php

<script type="application/javascript">
$(document).ready(function() {

    Pusher.logToConsole = true;
    var pusher = new Pusher('xxxxxxxxxxxxxxxxxxxx', {
        cluster: 'eu',
        encrypted: true
    });

    var channel = pusher.subscribe('update-date-channel');
    channel.bind('App\\Events\\Event', function(data) {
        $(".list-group").find("#" + data.updatedItemId).html(data.updatedDate);
    });

})

// Контроллер (по которому я отправляюобновленные значения)

public function addbid(Request $request)
{
    /*
    ...
    */
    event(new Event($updatedDate = $newDate->toArray("date")["formatted"], $request -> id));
    Session::flash('message', "Bid added succesfully!");
    return Redirect::back();
}

// А вот и весь файл событий из App \ Events \ Event

<?php

namespace App\Events;

use Illuminate\Broadcasting\Channel;
use Illuminate\Queue\SerializesModels;
use Illuminate\Broadcasting\PrivateChannel;
use Illuminate\Broadcasting\PresenceChannel;
use Illuminate\Foundation\Events\Dispatchable;
use Illuminate\Broadcasting\InteractsWithSockets;
use Illuminate\Contracts\Broadcasting\ShouldBroadcast;

class Event implements ShouldBroadcast
{
use Dispatchable, InteractsWithSockets, SerializesModels;

public $updatedDate;
public $updatedItemId;

/**
 * Create a new event instance.
 *
 * @return void
 */
public function __construct($updatedDate, $updatedItemId)
{
    $this->updatedDate = $updatedDate;
    $this->updatedItemId = $updatedItemId;
}

/**
 * Get the channels the event should broadcast on.
 *
 * @return \Illuminate\Broadcasting\Channel|array
 */
public function broadcastOn()
{
    return ['update-date-channel'];
}
}

В ресурсах/ assets / js Я ничего не изменил в app.js, в bootstrap.js я просто раскомментировал последнюю часть (ту,который начинается: "импортировать Echo из 'laravel-echo' ...").

1 Ответ

0 голосов
/ 11 июня 2018

Я заметил одну вещь:

Когда я изменил версию jQuery с 3.3.1 на, например, 1.12.4, то я получил некоторую ошибку из скрипта, которая выше pusher (это примерно другоескрипт), значит, логи показывались только один раз ...

...