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