asyncjs:`Uncaught(in promise)错误:..

时间:2018-04-25 19:16:21

标签: javascript error-handling async.js

我正在使用async.js(https://caolan.github.io/async/docs.html#times)的times()方法。

它基本上会调用异步函数X次,然后在每个异步函数结算后,它会让您有机会在一次回调中合并结果。

我注意到当我模仿404或任何错误时,我可以将错误传递给最终回调,并向用户呈现可视提示,将其记录到服务器等。

每当我强制出错时,我的控制台中总会出现错误:

Uncaught (in promise) Error: Unexpected status code [404] on URL...

我在处理此错误方面做错了吗(如果我正确处理错误,我真的不应该看到这个吗?)

我的异步功能,然后我的times()实现基本上如下:

var getPrismicStories = function(pageNumber, callback) {
  let stories = [];

  Prismic.api("https://myendpoint.prismic.io/api",{accessToken}).then((api) => {
        return api.query(Prismic.Predicates.any('document.type', ['blog-posts','video-posts']),{pageSize : 100, page : pageNumber, orderings : '[document.first_publication_date desc]',after:lastInitialStoryId})
  }).then((prismicResponse) => {
    stories = prismicResponse.results;
    callback(null, stories);
  }).catch((error) => {callback(error,stories)});
};

times(4, (i,next) => {
  getPrismicStories(++i, function(err, stories) {
    next(err, stories);
  });
}, function(err, allStories) {
  if(err){
    console.error(err);
  }

  doSomethingWithFetchResults(allStories);
});

我正在通过请求错误的网址名称"notmyendpoint.prismic.io/api"来强制执行404。

0 个答案:

没有答案
相关问题