我有一段这样的代码:
export default function imageProcessing() {
return async function (ctx, next) {
/* some code is here */
const request = new Promise(resolve => protocol.get(imageUrl, resolve));
const result = await request;
if (result.statusCode >= 400) {
ctx.status = result.statusCode;
return next();
}
ctx.status = result.statusCode;
/* some more code in between */
ctx.type = `image/${format}`;
ctx.body = result.pipe(transformer);
};
}
Eslint向我显示一些错误(因为不允许承诺)。 错误:
ESLint:Opera Mobile 12,Opera Mini全部不支持Promise, IE Mobile 10,IE 9,Blackberry Browser 7(compat / compat)
我无法修改/避免这种情况,因为它是严格禁止的。我怎样才能取代Promise?有人可以纠正这个吗?
答案 0 :(得分:1)
可能,
image/${format}
)也是如此。你也需要删除它们。 直接转换而不理解以上4点,
protocol.get(imageUrl, function(result){
if (result.statusCode >= 400) {
ctx.status = result.statusCode;
return next();
}
ctx.status = result.statusCode;
/* some more code in between */
ctx.type = `image/${format}`;
ctx.body = result.pipe(transformer);
}));
同样,这也容易出现容易出错的未来。 请专注于#1来解决这个问题。