Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript “如何修复”;TypeError:无法读取属性';继承';“未定义”的定义;在React项目中?_Javascript_Node.js_Reactjs - Fatal编程技术网

Javascript “如何修复”;TypeError:无法读取属性';继承';“未定义”的定义;在React项目中?

Javascript “如何修复”;TypeError:无法读取属性';继承';“未定义”的定义;在React项目中?,javascript,node.js,reactjs,Javascript,Node.js,Reactjs,我在做React项目。我正在尝试使用npm包异步轮询(),它希望使用继承节点utils的类;库内部有以下行: var inherits = hasWindow ? window.nodeUtil.inherits : require('util').inherits; var EventEmitter = hasWindow ? window.nodeEventEmitter : require('events').EventEmitter; 当然,由于应用程序在浏览器中运行,hasWindo

我在做React项目。我正在尝试使用npm包
异步轮询
(),它希望使用
继承
节点utils的类
;库内部有以下行:

var inherits = hasWindow ? window.nodeUtil.inherits : require('util').inherits;
var EventEmitter = hasWindow ? window.nodeEventEmitter : require('events').EventEmitter;
当然,由于应用程序在浏览器中运行,
hasWindow
是正确的。但是没有
nodeUtil
nodeEventMitter
。因此我得到了一个错误:

TypeError: Cannot read property 'inherits' of undefined
然后我尝试添加
util
events
包并执行以下操作:

window.nodeUtil = require('util');
window.nodeEventEmitter = require('events');
但我有一个错误:

TypeError: AsyncPolling is not a constructor

另一个fork能够解决这个问题,但我想尝试使用原始包,有没有办法解决这个问题?

据我所知,异步轮询是一个旧的、未维护的模块,您最好避免使用它。您遇到了问题,因为模块希望存在两个全局变量
nodeUtil
nodeEventMitter
。看起来包更适合节点环境,并且依赖于浏览器中的多边形填充

我建议找一个更新的软件包,或者简单地使用
setInterval
进行投票

const intervalInMilliseconds = 5000;
const timerId = setInterval(() => {
  if (/* some condition is met */) {
    clearInterval(timerId);
  } else {
    // do stuff
  }
}, intervalInMilliseconds);