【发布时间】:2017-08-08 14:57:00
【问题描述】:
React Native 开发:
我正在构建一个 React Native 应用程序,并且正在学习理解 Promise 所需的基础知识。我发现很难弄清楚为什么会发生一些事情。到目前为止,我最大的问题是我无法从承诺中返回的值。这是我的功能,这里是控制台日志:
功能:
getUri(){
var data = this.apiclient.retrieveImages()
var outside_uri = data.then((uri) => { console.log('inside => ' + uri); return uri;})
console.log('outside => ' + outside_uri)
}
控制台日志:
outside => [object Object]
inside => https://firebasestorage.googleapis.com/v0/b/facelapse-50017.appspot.com/o/Q…M0p7x1ROK0yIN02%2F001?alt=media&token=31de9def-cd32-4d5c-ad65-f3f65ad76685
快速观察:外部先于内部打印(可能是由于 Promise 的异步性质)。
【问题讨论】:
-
How do I return the response from an asynchronous call? 的可能重复项。 我认为没有理由为此创建一个新问题/答案,上述副本还包含一个非常详细的答案,其中包括
ES2017+: Promises with async/await。 -
@Igor 您假设此人知道有关与 异步 调用的功能连接的详细信息,但他可能不知道。因此,即使从技术上讲,将其标记为重复项也不完全正确。这只是人们搜索(和发布)某些特定问题的另一种情况,这些问题在概念上与其他一些先前已回答但行话缠身的问题在概念上相似。
标签: javascript reactjs asynchronous react-native promise