promise小技巧

  1. .then()中的回调可以传入两个回调函数,分别接受第一个参数和第二个回调参数
  2. 如果第一个失败的回调被错误处理回调函数捕获了,那么下面的一个.then()回调会接受一个undefined正常回调值,这不是我们想看到的结果。解决方法就是在上一个失败回调中返回一个空白的Promise对象。
fetch('/api1/search/users?id=1').then(
  reponse => {
    console.log('连接服务器成功');
    return response.json(); // response.json()返回了一个Promise对象
  },
  error => {
    console.error('链接服务器失败',error);
    return new Promise( ()=>{} ) // 这里返回新的promise是为了防止下面的`.then()`传入undefined,导致下面的.then正常执行
).then(
  response => console.log('返回数据成功');
  error => console.error('返回数据失败',error);
)

相关文章

最后的控制台返回空数组.控制台在ids.map函数完成之前运行va...
我正在尝试将rxJava与我已经知道的内容联系起来,特别是来自J...
config.jsconstconfig={base_url_api:"https://douban....
我正在阅读MDN中的javascript,并且遇到了这个谈论承诺并且不...
config.jsconstconfig={base_url_api:"https://douban....
这是我的代码main.cpp:#include<string>#include<...