【问题标题】:How to access the Promise object? [duplicate]如何访问 Promise 对象? [复制]
【发布时间】:2021-10-17 03:01:29
【问题描述】:

我的这段代码返回了我在浏览器中看到的 Promise

    const data2 = fetchCurrentWeatherID({
    params: {id: data.id - 3204, appid: 'ebc8de08ce3579cf444b51c12772a8bc'},
  })

  console.log(data2)

浏览器中的结果是:

↓Promise {<pending>}
 →[[Prototype]]: Promise
  [[PromiseState]]: "rejected"
 →[[PromiseResult]]: Error: Request failed with status code 404 at createError (http://localhost:3000/vendors~main.8c0082efa14d3f9d53ec.hot-update.js:767:15) at settle (http://localhost:3000/vendors~main.8c0082efa14d3f9d53ec.hot-update.

如果 Promise 被解决,结果是:

↓Promise {<pending>}
 →[[Prototype]]: Promise
  [[PromiseState]]: "fulfilled"
 →[[PromiseResult]]: Object

我想访问 PromiseState 和 PromiseResult!我已经用 React.js 进行了这个 API 调用

【问题讨论】:

  • 使用data2.then(console.log)。或使用await

标签: javascript reactjs promise


【解决方案1】:
const data2 = fetchCurrentWeatherID({
  params: {id: data.id - 3204, appid: 'ebc8de08ce3579cf444b51c12772a8bc'},
})

console.log(data2);
data2
  .then(result => console.log(result))  // the resolved data result
  .catch(err => console.log('something went wrong, error was', err)); // any errors

【讨论】:

  • 谢谢!这就是我所做的! fetchCurrentWeatherID({ params: {id: data.id - 3204, appid: 'ebc8de08ce3579cf444b51c12772a8bc'}, }).then(data2 => { console.log(data2.data.name) }) 是否有可能得到 Promise 结果?像 data2.PromiseState 这样的东西?或类似的东西?
猜你喜欢
  • 2022-01-28
  • 1970-01-01
  • 2015-04-11
  • 2023-03-13
  • 2014-07-16
  • 2011-10-18
  • 2022-01-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多