2017-01-13 19 views
6

ES6 yağlı ok işlevlerini öğreniyorum. Bu kodu değiştirmek için doğru yol hangisi, başka bir satır koymak için const a = 100; bile belirtilen yere bu fonksiyona daha fazla satır ekleyebilmem için?Tek Satırdan Çok Satırlı ES6 Yağ Ok İşlevi?

IMAdded: (options, args) => ({ 
    IMAdded: { 
     filter: newIM => true, *need to add another line here* 
    }, 
}), 

Güncelleme:

İşte çalışır ES6 kod:

const subscriptionManager = new SubscriptionManager({ 
    schema, 
    pubsub, 
    setupFunctions: { 
     APPTAdded: (options, args) => ({ 
      APPTAdded: { 
       filter: appointment => (true), 
      }, 
     }), 
}); 

Ben true döndüren koduna biraz daha satır eklemek istiyorum.

+0

** IMedded ** bir nesneyiniz (bir işlev değil), yapmanız gereken: ** a: 100 **, sonra IMAdded.a olarak okunur // => 100 – Hosar

+0

Bize gösterdiğinizde Ne yapmaya çalıştığınızı açıklamak için uygun ES5 yolu, yağ okları ile ES6'ya kolayca değiştirmenize yardımcı olabiliriz. Şimdi gösterdiğiniz şeyle, nasıl düzeltileceğini bilmemiz için neyi başarmaya çalıştığınız yeterince açık değil. Geçersiz sözdizimi kombinasyonlarınız var ve kastettiğinizden emin olmadığımız nesneleri beyan ediyorsunuz. Yani, lütfen hedefi açıklığa kavuşturun. Hedefi göstermenin en kesin yolu, yapmaya çalıştığınız şey için çalışan ES5 kodunu göstermektir. – jfriend00

+0

Önerileriniz için teşekkürler. Bunun ES5'te neye benzeyeceği hakkında hiçbir fikrim yok. Daha fazla bilgi göstermek için yayını güncelleyeceğim. – VikR

cevap

14

yaşadığınız daha çok satırına aşağıdaki yöntemi dönüştürmek isterseniz: Sen küme parantezi eklemek zorunda

{ 
    filter: appointment => true 
} 

ve return deyimi: (

{ 
    filter: appointment => { 
    // ... add your other lines here 
    return true; 
    } 
} 
1
filter: appointment => true, 
... 

ve parantez değiller

için bir kısayol gerekli ( true civarında) hatlarının herhangi bir miktarda return deyimi önce ilave edilebilir

filter: function (appointment) { 
    return true; 
}.bind(this), 
... 

için bir kısa 10

.