问题描述
我正在构建一个类,该类接收一个URL数组,并使用asyncIterator逐个处理这些URL。整个代码当前正在工作,但是我想显式地为execute()和crawl()方法添加类型,所以我需要您的帮助。 预先感谢
class Crawlers {
public urls: string[];
constructor(urls: string[]) {
this.urls = urls;
}
private execute(cookie: ICookie) {
const urlsIterator = this.urls[Symbol.iterator]();
return {
async next() {
const iteratorResult = urlsIterator.next();
if (iteratorResult.done) {
return { done: true };
}
const url = iteratorResult.value;
try {
const payload = await request(url,cookie);
return {
done: false,value: payload,};
} catch (err) {
const error: IRequestError = {
url,err: err.message,};
return {
done: false,value: error,};
}
},};
}
public crawl(cookie: ICookie) {
return {
[Symbol.asyncIterator]: this.execute.bind(this,cookie),};
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)