nodejs中function*、yield和Promise的示例
var co = require("co"); var fs = require("fs"); function cusReadFile(fileName) { //总之,要返回一个Promise对象,这样写也可以,因为fs.readFile返回的就是一个Promise对象 /** * return function(fn){ * fs.readFile(fileName,fn); * } */ return new Promise(function (resolve, reject) { setTimeout(function () { resolve("文件内容:abc"); }, 2000); }); } function* readFile() { var a = yield cusReadFile("tem.js"); console.log("文件1:" + a); var b = yield cusReadFile("index.js"); console.log("文件2:" + b); } co(readFile).then(function () { console.log("文件读取成功") }).catch(function (err) { console.log("错误"); });
无