當頂級等待不可用時,如何從承諾中分配頂級常量

我試圖在top-level處分配一個const,其中的值需要來自異步函數。但是,我正在使用的生產服務器上的nodejs版本不夠新,無法支持Wait,因此我無法執行以下操作:

const value = await f(x)

我不能在then之類的函數中聲明變量,因為它在頂層沒有作用域,所以這樣的函數不起作用:

f(x).then(val=>{const value=val}) // no top-level const value afterwards

如何在這個環境中正確初始化const

如果有幫助的話,對于這種特殊情況,函數確實會為我傳遞的特定值同步返回,但由于它被定義為異步的,有時會異步返回,因此實際上一直在返回承諾。

作為一種(可怕的)解決方法,我考慮簡單地將const分配給Promise,然后在需要時使用.then()提取值。然而,盡管承諾得到了解決,但這似乎總是會導致值被非同步提取,這意味著它不會像我需要值時那樣工作,我需要它的時候就在此時,而不是在當前函數完成后或任何時候。

? 最佳回答:

您需要用“let”而不是const定義var,然后在“then”中賦值。

let value;
f(x).then(val => value = val)

也許你有更好的方法來做這件事,但有了contexte,我會這樣做。

主站蜘蛛池模板: 精品视频一区二区三区免费| 国产在线精品一区二区夜色 | 3d动漫精品啪啪一区二区免费 | 精品日韩亚洲AV无码一区二区三区| 91国在线啪精品一区| 蜜桃视频一区二区| 精品无码人妻一区二区三区不卡 | 中文字幕亚洲乱码熟女一区二区| 国产亚洲一区二区精品| 亚洲一区二区三区久久久久| 一本大道在线无码一区| 精品在线视频一区| 无码一区二区三区在线观看| 人妻视频一区二区三区免费| 变态调教一区二区三区| 无码精品人妻一区二区三区漫画| 蜜桃无码AV一区二区| 在线电影一区二区| 国产一区二区视频在线观看| 波多野结衣久久一区二区| 国产人妖视频一区在线观看| 国产在线精品一区免费香蕉| 97一区二区三区四区久久| 精品在线视频一区| 在线播放国产一区二区三区 | 国产大秀视频一区二区三区| 亚洲综合无码精品一区二区三区| 亚洲国产精品综合一区在线| 日本在线视频一区| 亚洲一区无码中文字幕乱码| 麻豆一区二区三区蜜桃免费| 人妻体体内射精一区二区| 精品91一区二区三区| 久久伊人精品一区二区三区| 亚洲毛片不卡av在线播放一区| 久久久91精品国产一区二区| 亚洲一区无码中文字幕乱码| 91福利国产在线观一区二区| 国产熟女一区二区三区四区五区| 91亚洲一区二区在线观看不卡| 精品无码国产一区二区三区51安 |