2017-10-21 245 views
0

我怎麼能轉換這個功能使用異步/ AWAIT風格:如何使用節點JS util.promisify與WriteFile的FS功能與等待

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'); 
    }); 
}); 

我試圖用這個,但它不工作:

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

它顯示了第2行以下錯誤:

Parsing error: Unexpected token writeFile 

如果我 「異步」 添加到摩卡測試功能:

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'); 
    }); 
}); 

然後我得到這個錯誤在第1行:

Parsing error: Unexpected token => 

我可能錯過了一些基本的如何異步/的await和util.promisify一起工作的節點

使用節點8.7 0.0。

+0

哪一行?.... –

+0

@FastSnail你的意思是錯誤顯示的行?我編輯了這個問題。 –

+0

@FastSnail我也在用摩卡,編輯的問題 –

回答

1

我在 「故宮測試」 運行eslint摩卡前:

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

取出 「eslint」 叫定勢的問題:

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

出於某種原因,eslint不靈了異步/ AWAIT語法與摩卡