请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

URLSearchParams 报错

老师,我发现按照课件中的instanceof关键字方法判断URLSearchParams类型在运行时会有如下报错:
Uncaught (in promise) TypeError: Right-hand side of ‘instanceof’ is not an object
但是改成:
toString.call(val) === '[object URLSearchParams]'
就没有问题了,这是什么原因呀?

正在回答 回答被采纳积分+3

插入代码

2回答

提问者 慕丝8101871 2020-02-05 10:23:33
1
2
3
4
5
6
7
8
9
10
11
import { URLSearchParams } from "url";
 
// 报错的写法
export function isURLSearchParams(val: any): val is URLSearchParams {
return typeof val !== 'undefined' && val instanceof URLSearchParams;
}
 
//没有报错的写法
export function isURLSearchParams(val: any): val is URLSearchParams {
return typeof val !== 'undefined' && toString.call(val) === '[object URLSearchParams]';
}

具体报错:

Uncaught (in promise) TypeError: Right-hand side of 'instanceof' is not an object

    at isURLSearchParams (universal.ts:56)

    at buildUrl (url.ts:40)

    at transformUrl (dispatchRequest.ts:29)

    at processConfig (dispatchRequest.ts:20)

    at dispatchRequest (dispatchRequest.ts:14)

0 回复 有任何疑惑可以回复我~
  • 你是什么版本的 TS?
    回复 有任何疑惑可以回复我~ 2020-02-05 11:55:02
ustbhuangyi 2020-02-04 11:42:09

你代码是怎么写的,贴出来看看

0 回复 有任何疑惑可以回复我~
  • 提问者 慕丝8101871 #1
    发现错误啦,是vscode从'url'里引入的URLSearchParams,应该是'lib.dom'里的那个
    回复 有任何疑惑可以回复我~ 2020-02-05 11:44:02
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号