var readFile = function (fileName){ return new Promise(function (resolve, reject){ fs.readFile(fileName, function(error, data){ if (error) reject(error); resolve(data); }); }); };
Generator 写法:
1 2 3 4 5 6 7 8
var co = require('co'); var gen = function* (){ var f1 = yield readFile('/etc/fstab'); var f2 = yield readFile('/etc/shells'); console.log(f1.toString()); console.log(f2.toString()); }; co(gen);
写成 async 函数,就像下面这样:
1 2 3 4 5 6
var asyncReadFile = async function (){ var f1 = await readFile('/etc/fstab'); var f2 = await readFile('/etc/shells'); console.log(f1.toString()); console.log(f2.toString()); };
let result = 'visit my Blog :https://www.baidu.com:80'.match(/(https?):\/\/([\w.]+):(\d*)/); console.log(result); console.log('协议:',result[1]); console.log('网址:',result[2]); console.log('端口:',result[3]);
结果
1 2 3 4 5 6 7 8 9
[ 'https://www.baidu.com:80', 'https', 'www.baidu.com', '80', index: 15, input: 'visit my Blog :https://www.baidu.com:80' ] 协议: https 网址: www.baidu.com 端口: 80