has-generator
是一个用来判断当前环境下是否支持 Javascript 的 generator function 的小工具,支持 Node.js 环境和浏览器环境。
它的 package.json
没有 main
字段,而是使用 browser
字段声明入口文件。main
省略时,Node.js 下会默认 index.js
为入口文件。
浏览器下判断是否支持 generator function 的方法是直接创建一个 generator function,如果不报错,就判断为支持,如果报错就不支持。通常我们不会使用 new Function()
去创建一个函数,但这里用的就是这种方法。new Function()
可以接收多个参数,除了最后一个参数,其他参数都是所创建函数的所能接收的参数名称,而最后一个参数就是要返回的内容,所有参数都是字符串,例如:
const generatorFn = new Function('return function * () {}');