我们有以下fetch个电话.

this.http.fetch('flasher', { method: 'post', body: jsonPayload })
    .then(response => response.json())
    .then(data => console.log(data));

当我们收到200个响应时,这种方法有效,但当我们收到500个响应时,不会将任何内容记录到控制台.我们如何处理500美元?

推荐答案

Working Solution

结合thencatch个作品.

fetch('http://some-site.com/api/some.json')  
  .then(function(response) {                      // first then()
      if(response.ok)
      {
        return response.text();         
      }

      throw new Error('Something went wrong.');
  })  
  .then(function(text) {                          // second then()
    console.log('Request successful', text);  
  })  
  .catch(function(error) {                        // catch
    console.log('Request failed', error);
  });

Details

fetch()返回包含Response对象的Promise.Promise可以被满足,也可以被拒绝.Fulfillment运行第一个then(),返回其promise ,然后运行第二个then().拒绝投到前then(),然后跳到catch().

References

MDN - Promise

MDN - Checking that the fetch was successful

Google - Introduction to Fetch

Typescript相关问答推荐

类型保护,用于验证是否定义了二元组的每个项

强制两个类型脚本对象具有相同的键

如何根据数据类型动态注入组件?

即使子网是公共的,AWS CDK EventBridge ECS任务也无法分配公共IP地址

带有联合参数的静态大小数组

我应该使用什么类型的React表单onsubmit事件?

为什么typescript要把这个空合并转换成三元?

类型{...}的TypeScript参数不能赋给类型为never的参数''

使Typescribe强制所有对象具有相同的 struct ,从两个选项

类型脚本可以推断哪个类型作为参数传递到联合类型中吗?

是否有可能避免此泛型函数体中的类型断言?

如何解决&Quot;类型不可分配给TypeScrip IF语句中的类型&Quot;?

如何定义这样一个TypeScript泛型,遍历路由配置树并累积路径

在打字应用程序中使用Zod和Reaction-Hook-Forms时显示中断打字时出错

如何创建内部和外部组件都作为props 传入的包装器组件?

两个名称不同的相同打字界面-如何使其干燥/避免重复?

组件使用forwardRef类型脚本时传递props

如何向我的自定义样式组件声明 custom.d.ts ?

覆盖高阶组件中的 prop 时的泛型推理

如何使用动态生成的键和值定义对象的形状?