Javascript 插座io发射生成'的右侧;instanceof';它不是一个对象
我得到以下错误Javascript 插座io发射生成'的右侧;instanceof';它不是一个对象,javascript,sockets,Javascript,Sockets,我得到以下错误 C:\path\app\node_modules\winston\node_modules\cycle\cycle.js:62 !(value instanceof String)) { ^ TypeError: Right-hand side of 'instanceof' is not an object 在我的 return io.to(socket.id).emit('friendsIn
C:\path\app\node_modules\winston\node_modules\cycle\cycle.js:62
!(value instanceof String)) {
^
TypeError: Right-hand side of 'instanceof' is not an object
在我的
return io.to(socket.id).emit('friendsInvited', data);
线路。
我在许多地方都有相同的代码,但错误只发生在这段代码中……请参见以下内容:
socket.on('inviteFriends', function(body) {
let inviteesArr = body.split(',');
let emailObjArray = validateInvitees(body)
console.log("EmailObj Array: " + JSON.stringify(emailObjArray));
if (emailObjArray.length === 0) {
data = {
code: String = '1',
msg: String = 'failmessage...'
};
**<<FAILS HERE>>** return io.to(socket.id).emit('friendsInvited', data);
} else
{
...function(a,b,f(c){
if (x===0) {} else
{
**<<WORKS HERE>>** return io.to(socket.id).emit('friendsInvited', data);
}
}}
.......
罪魁祸首就在这里:
data = {
code: String = '1',
msg: String = 'failmessage...'
};
您基本上覆盖了内置的String
构造函数
例如:
const x = String = 'something';
x
将等于'something'
,但这是从String='something'
赋值返回的结果,它实际上更改了内置的String
构造函数。现在,当您尝试使用variableName instanceof String
时,String
将是一个基本值,但是instanceof
只能与构造函数一起使用,作为右侧-因此运行时抛出错误。罪魁祸首在这里:
data = {
code: String = '1',
msg: String = 'failmessage...'
};
您基本上覆盖了内置的String
构造函数
例如:
const x = String = 'something';
x
将等于'something'
,但这是从String='something'
赋值返回的结果,它实际上更改了内置的String
构造函数。现在,当您尝试使用variableName instanceof String
时,String
将是一个基本值,但是instanceof
只能与构造函数函数一起使用作为右侧,因此运行时抛出错误。这看起来像是winston模块、记录器(或循环)中的错误试着更新:npm update
@Chris G…不,那没用…一样errors@Chris我还安装了winston 3.0..这破坏了代码..所以我选择了2.4.3这看起来像winston模块中的一个错误,一个记录器(或循环)试着更新:npm update
@Chris G…不,那没用…一样errors@Chris我还安装了winston 3.0..这破坏了代码..所以我选择了2.4.3..你有鹰眼另外你的解释教了我一些我没有注意到的东西..干得好..你有鹰眼另外你的解释教了我我没注意到的东西…干得好