Pageres (phantomjs) 不 return 承诺
Pageres (phantomjs) does not return promise
我正在使用 Pageres 从多个网站生成屏幕截图。
一个来源,一切正常!
示例代码:
return new Pageres({})
.src(url, sizes) // <- one URL
.dest(dest)
.run()
.then((result) => {
console.log("done");
return result;
})
.catch((error) => {
throw error;
});
但是如果我想使用多个源并遍历我的数组,它 return 是一个 Pageres 对象而不是 Promise。
我的代码如下:
let pages = new Pageres({});
urls.forEach((url)=>{
pages.src(url, size)
});
pages
.dest(dest)
.run()
.then((result) => {
console.log("done");
return result
})
.catch((error) => {
console.log("error", error);
throw error;
});
return pages;
有人知道为什么第一个示例有效而第二个示例无效吗?
我可以对第二个示例中的 return Promise 做些什么?
提前致谢!
我认为你可以使用 reduce
let pages = urls.reduce(
(page,url)=>
page.src(url,size),
,new Pageres({})
);
return pages
.dest(dest)
.run()
.then((result) => {
console.log("done");
return result
})
.catch((error) => {
console.log("error", error);
throw error;
});
我正在使用 Pageres 从多个网站生成屏幕截图。
一个来源,一切正常!
示例代码:
return new Pageres({})
.src(url, sizes) // <- one URL
.dest(dest)
.run()
.then((result) => {
console.log("done");
return result;
})
.catch((error) => {
throw error;
});
但是如果我想使用多个源并遍历我的数组,它 return 是一个 Pageres 对象而不是 Promise。
我的代码如下:
let pages = new Pageres({});
urls.forEach((url)=>{
pages.src(url, size)
});
pages
.dest(dest)
.run()
.then((result) => {
console.log("done");
return result
})
.catch((error) => {
console.log("error", error);
throw error;
});
return pages;
有人知道为什么第一个示例有效而第二个示例无效吗? 我可以对第二个示例中的 return Promise 做些什么?
提前致谢!
我认为你可以使用 reduce
let pages = urls.reduce(
(page,url)=>
page.src(url,size),
,new Pageres({})
);
return pages
.dest(dest)
.run()
.then((result) => {
console.log("done");
return result
})
.catch((error) => {
console.log("error", error);
throw error;
});