回调函数,异步执行
var fs = require("fs");
fs.readFile('input.txt', function (err, data) {
if (err) return console.error(err);
console.log(data.toString());
}); //回调函数就是function(value,callback(){});
console.log("程序执行结束!");
运行结果
$ node main.js
程序执行结束! //不需要等待文件读取,证明了程序的异步执行
菜鸟教程官网地址:www.runoob.com
对象结构 const xx=await
promise函数www.jianshu.com/p/71aa172b4… new Promise(function(resolve,reject){});
generator函数blog.csdn.net/weixin_4617…
asyn函数www.cnblogs.com/lujh/p/1598…
describe("Player", function() { /* tests */ });
describe
describe是Jasmine的全局函数,用于创建一个测试套件,可以理解为一组测试用例的集合。 describe函数接受两个参数(一个字符串和一个回调函数)。字符串是这个测试套件的名字或标题,通常描述被测试内容,用之前的比喻来说,describe就是一个故事,字符串就是这个故事的标题。回调函数是实现测试套件的代码块(称为describe块)。 将上面的代码拆分一下,大结构就是 describe("Player", function() { /* tests */ });
describe是可以嵌套使用的,我们可以理解为一个大故事是由多个小故事组成的,从PlagerSpec.js中我们也可以看到有嵌套使用的describe函数。
it
it也是Jasmine的全局函数,用来在describe块中创建一个测试用例(spec),和describe一样,it接受两个参数(一个字符串一个回调函数),字符串参数是测试用例的名字或标题,回调函数是实现测试用例的代码块(称为it块),如下: it("should be able to play a Song", function() { player.play(song); expect(player.currentlyPlayingSong).toEqual(song); });
describe和it函数的在我看来,it可以理解为故事中人物的行为
describe和it函数的字符串参数是很重要的。如果描述得当的话,你的测试可以将一个完整的测试场景以自然语言的形式表达出来,形成文档。
describe和it都属于JavaScript函数,所以JavaScript的作用域规则也适用于此。 用java中学过的全局变量与局部变量的概念来说,我们可以把describe类别为一个class,把it类比于里面的方法,在describe中声明的变量即全局变量,在它里面的所以的it中都可以使用。而it中声明的变量为局部变量,只在此it内部有效。