2016-05-06 3 views
0

ist der Fehler zu ändern versucht:Uncaught Reference wenn diese JS Funktion in Coffeescript

Uncaught ReferenceError: er is not defined 

Dies ist der Code ..

{CompositeDisposable} = require 'atom' 
lib = require 'lib' 

module.exports = 
    subscriptions: null 

    activate: -> 
    @subscriptions = new CompositeDisposable 
    @subscriptions.add atom.commands.add 'atom-workspace', 
     'my-package:convert': => @convert() 

    deactivate: -> 
    @subscriptions.dispose() 

    convert: -> 
    console.log 'Convert text!' 
    if editor = atom.workspace.getActiveTextEditor() 
     console.log editor.getText() 
     lib.process(editor.getText() (er files)) -> 
     console.log 'All files ..' 
     listFiles(files) 

    listFiles: (files) -> 
    for fileName in Object.keys(files) 
     first = files[fileName].first 
     second = files[fileName].second 
     third = files[fileName].third 
     console.log 'Done' 

Dies ist die javascript Ich versuche zu coffeescript zu ändern innen ..

+1

Meinst du nicht 'lib.process (editor.getText(), (er, dateien) -> ...)'? Sehen Sie sich das transpilierte JavaScript an und Sie werden sehen, warum Ihr CoffeeScript keinen Sinn ergibt. –

Antwort

0

Die Linie

ist nicht korrekt, da die Kommata zur Trennung der Parameter fehlen.

Beim Versuch, die Zeile, die Sie es JS schrieben transpile würde wie folgt aussehen:

lib.process(editor.getText()(er(files)))(function() {}); 

Beim Versuch, JS zu Kaffee zu migrieren, ist es manchmal eine gute Idee, beginnt mit http://js2.coffee/ und starten von dort

. Schauen Sie sich immer das transpilierte JS-Ergebnis an, um zu prüfen, ob alles wie erwartet funktioniert

Verwandte Themen