2017-10-21 88 views
0

Comment puis-je convertir cette fonction pour utiliser le async/Attendent style:Comment utiliser le util.promisify de noeud avec la fonction du writeFile et attendre

it.only("should bump the 'minor' version attribute",() => { 
    const writeFile = util.promisify(require("fs").writeFile); 
    return writeFile("bump-minor.json", "contents").then(function() { 
    console.log('done'); 
    }); 
}); 

J'ai essayé avec cela, mais cela ne fonctionne pas:

const writeFile = util.promisify(require("fs").writeFile); 
await writeFile("bump-minor.json", "contents"); 
console.log('done'); 

Il montre l'erreur suivante sur la ligne 2:

Parsing error: Unexpected token writeFile 

Si j'ajoute "async" à la fonction de test de mocha:

it.only("should bump the 'minor' version attribute", async() => { 
    const writeFile = util.promisify(require("fs").writeFile); 
    return writeFile("bump-minor.json", "contents").then(function() { 
    console.log('done'); 
    }); 
}); 

Puis-je obtenir cette erreur sur la ligne 1:

Parsing error: Unexpected token => 

Je suis probablement manque quelques fondamentaux de la façon dont async/Attendent et util.promisify travaille ensemble dans le nœud

Utilisation de noeud 8.7 .0.

+0

quelle ligne? .... –

+0

@FastSnail Vous voulez dire la ligne que l'erreur montre? J'ai édité la question. –

+0

@FastSnail J'utilise aussi moka, question éditée –

Répondre

1

je courais eslint avant mocha dans "test NPM":

"scripts": { 
    "test": "eslint *.js \"src/**/*.js\" \"test/**/*.js\" && mocha" 
} 

Retrait de la "eslint" appel fixe le problème:

"scripts": { 
    "test": "mocha" 
} 

Pour une raison quelconque, eslint échouait async/Attendent syntaxe avec moka