天天看點

CoffeeScript 2對async/await的支援及用法示例

CoffeeScript 2版本增加了對async/await的支援,官方文檔。

注意使用await的函數前面不用加async,CoffeeScript編譯的時候會自動添加。

示例代碼(CoffeeScript version 2.3.1/nodejs v8.11.4):

bluebird = require('bluebird')

sleep1 = (callback)->
        setTimeout(()->
                callback(null,2);
        ,1000)

sleep2 = (callback)->
        setTimeout(()->
                callback(null,3);
        ,1000)

aaa = ()->
        i = await bluebird.promisify(sleep1)();
        i += await bluebird.promisify(sleep2)();
        return i;

aaa().then((result)->
        console.log("ret:"+result);
);
           

示例輸出:

ret:5