Law*_*ris 3 javascript node.js async-await
我使用async / await得到了以下代码:
function _getSSID(){
return new Promise((resolve, reject)=>{
NetworkInfo.getSSID(ssid => resolve(ssid))
})
}
async function getSSID(){
let mySSID = await _getSSID()
if (mySSID == "error") {
return 'The value I want to return'
}
}
Run Code Online (Sandbox Code Playgroud)
看起来该getSSID()函数将始终返回promise。如何获得"The value I want to return"纯文本?
任何帮助是极大的赞赏。
声明一个函数async意味着它将返回Promise。要将其Promise转换为值,您有两个选择。
then()在其上使用“常规”选项:
getSSID().then(value => console.log(value));
Run Code Online (Sandbox Code Playgroud)
您还可以await在函数上使用:
const value = await getSSID();
Run Code Online (Sandbox Code Playgroud)
使用的await要点是在async函数内部太多了。
在某个时候,您将在顶层有一些东西,可以使用第一个选项,也可以是如下所示的自调用函数:
((async () => {
const value = await getSSID();
console.log(value);
})()).catch(console.error):
Run Code Online (Sandbox Code Playgroud)
如果要这样做,请确保具有catch()on该函数来捕获任何其他未捕获的异常。
您不能await在顶层使用。
| 归档时间: |
|
| 查看次数: |
9273 次 |
| 最近记录: |