Javascript 礼节

Javascript 礼节,javascript,Javascript,内部回调请求权限我没有访问此的权限。如何在我的类中调用InstanciarZona()方法 class PublisherPush{ ... InstanciarZona(){ let data = {}; data.zona = this.Ad.GetZona() data.dominio = this.Ad.GetDominio(); this.Ad.StartSockect();

内部回调请求权限我没有访问此的权限。如何在我的类中调用InstanciarZona()方法

class PublisherPush{ ...

InstanciarZona(){
    let data              = {};
    data.zona             = this.Ad.GetZona()
    data.dominio          = this.Ad.GetDominio();
    this.Ad.StartSockect();
    socket.emit("conectado",data);        
    socket.on("Instanciar Zona",function(data){
         if(debug == true) console.log('7- Zona de Push instanciada...','Carregando campanha...');
         data.navigator      = navigator.platform;
         data.browser        = BrowserDetect.browser;
         data.os             = BrowserDetect.OS;
         socket.emit('Carregar Campanhas',data);
    });
 }   

 requestNotificationPermission(){
    const permission = window.Notification.requestPermission(function(permission){ 
    var notification = new Notification("Hi there!");
    console.log('permission',permission,window);
    switch(permission){
        case 'granted':
            this.InstanciarZona();  
        break;
        default: 
            console.log('okay você não concedeu permissão');
     }
     return permission;   
   });
 }

 ....
//权限值可以是“已授予”、“默认”、“已拒绝”

//已授予:用户已接受请求

//默认值:用户已通过单击x取消通知权限弹出窗口


//拒绝:用户拒绝了请求。

有两种主要方法:

  • 添加
    const=this在回调之前,然后在回调中使用
    that
    而不是
    this
  • 不要对回调使用
    函数
    关键字,而是使用箭头函数

  • 还有第三个带有
    bind