Node.js – util.types.isGeneratorObject() 方法

UTIL。types.isGeneratorObject()方法检查传递的值是否是内置生成器对象。如果满足上述条件,则返回 True,否则返回 False。如果使用转译工具,返回值可能与原始源代码不同。

语法

util.types.isGeneratorObject(value)

参数

  • value - 此输入值接受所需参数的输入并检查它是否是 Generator 对象。

它根据传递的输入值返回 True 或 False。

示例 1

创建一个文件“ isGeneratorObject.js ”并复制以下代码片段。创建文件后,使用命令“ node isGeneratorObject.js ”运行此代码。

// util.types.isGeneratorObject() 演示示例

// 导入 util 模块
const util = require('util');

// 定义生成器函数
function* generator() {
   yield 1;
   yield 2;
   yield 3;
}

const gen = generator();

// 传递生成器对象
console.log("1." + util.types.isGeneratorObject(gen));

// 传递生成器函数
console.log("2." + util.types.isGeneratorObject(generator()));
输出结果
C:\home\node>> node isFloat32Array.js
1.true
2.true

示例 2

// util.types.isGeneratorObject() 演示示例

// 导入 util 模块
const util = require('util');

// 定义生成器函数
function* infinite() {
   let index = 0;

   while (true) {
      yield index++;
   }
}

const generator = infinite(); // "Generator { }"

console.log(generator.next().value); // 0
console.log(generator.next().value); // 1
console.log(generator.next().value); // 2

// 传递生成器对象
console.log("1." + util.types.isGeneratorObject(generator));

// 传递生成器下一个值函数
console.log("2." + util.types.isGeneratorObject(generator.next()));
输出结果
C:\home\node>> node isFloat32Array.js
0
1
2
1.true
2.false