第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在 Node v14.14.0 中使用頂級等待功能時

在 Node v14.14.0 中使用頂級等待功能時

一只甜甜圈 2023-05-25 18:04:58
我正在嘗試使用在 Node v14.8 中添加的新頂級等待。我知道 IIFE 是過去的首選解決方法之一,但這個問題是關(guān)于新的頂級等待功能以及為什么盡管已與 Node 14.8 一起發(fā)布但它仍會拋出錯誤我正在將我的 Axios 實(shí)例從我的控制器中提取到一個獨(dú)立的服務(wù)中。在該服務(wù)文件中,我試圖實(shí)例化然后導(dǎo)出一個 Axios 實(shí)例,該實(shí)例是使用來自 Spotify 的 API 的存儲授權(quán)標(biāo)頭創(chuàng)建的。因?yàn)樗S后被導(dǎo)入到我的控制器中(傳遞到構(gòu)造函數(shù)然后它導(dǎo)出new SpotifyApiController(SpotifyApiService))并且導(dǎo)入是同步的,所以我試圖使用新的頂級等待功能在啟動/導(dǎo)入時完全實(shí)例化它,但出現(xiàn)以下錯誤:[nodemon] starting `babel-node bin/www.js --harmony-top-level-await --experimental-repl-await`E:\projects\harmonic-mixing-companion\server\services\SpotifyApiService.mjs:117var SpotifyApiService = await createApiService();? ? ? ? ? ? ? ? ? ? ? ? ^^^^^SyntaxError: await is only valid in async function? ? at wrapSafe (internal/modules/cjs/loader.js:979:16)? ? at Module._compile (internal/modules/cjs/loader.js:1027:27)? ? at Module._compile (E:\projects\harmonic-mixing-companion\server\node_modules\pirates\lib\index.js:99:24)? ? at Module._extensions..js (internal/modules/cjs/loader.js:1092:10)? ? at Object.newLoader [as .mjs] (E:\projects\harmonic-mixing-companion\server\node_modules\pirates\lib\index.js:104:7)? ? at Module.load (internal/modules/cjs/loader.js:928:32)? ? at Function.Module._load (internal/modules/cjs/loader.js:769:14)? ? at Module.require (internal/modules/cjs/loader.js:952:19)? ? at require (internal/modules/cjs/helpers.js:88:18)? ? at Object.<anonymous> (E:\projects\harmonic-mixing-companion\server\controllers\/SpotifyApiController.js:1:1)從錯誤來看,babel-node 似乎自從const SpotifyApiService = ...成為var SpotifyApiService = .... 我也添加"@babel/plugin-syntax-top-level-await"到我的babel.config.json.該服務(wù)的文件擴(kuò)展名為.mjs. 我也嘗試過"type": "module"在服務(wù)器的 package.json 中進(jìn)行設(shè)置,但這也沒有結(jié)果。如果我錯了請糾正我,但是將我的整個后端服務(wù)器設(shè)置為模塊對我來說也不合適,因?yàn)樗鼘ξ襾碚f聽起來不像一個模塊化單元(相對于可重用的)SpotifyApiService。console.log(process.version);在我的主入口文件的頂部仔細(xì)檢查了我的節(jié)點(diǎn)版本,它打印了預(yù)期的 14.14.0 版本。
查看完整描述

3 回答

?
慕田峪9158850

TA貢獻(xiàn)1794條經(jīng)驗(yàn) 獲得超8個贊

您可以將其包裝在異步函數(shù)中:

var SpotifyApiService = (async()=> await createApiService())();

在你可以使用than, catch之后


查看完整回答
反對 回復(fù) 2023-05-25
?
互換的青春

TA貢獻(xiàn)1797條經(jīng)驗(yàn) 獲得超6個贊

如文檔所示,babel 僅啟用此功能的“語法”,

僅語法

此插件僅啟用此功能的解析。Babel 不支持轉(zhuǎn)換頂級 await,但你可以使用 Rollup 的 experimentalTopLevelAwait 或 webpack@5 的 experiments.topLevelAwait 選項(xiàng)。

這只是意味著 babel 在編譯你的代碼時不會報(bào)錯,但它實(shí)際上并沒有實(shí)現(xiàn)主動將一行代碼轉(zhuǎn)換為有效 ES5 的步驟var SpotifyApiService = await createApiService();。

因此,任何執(zhí)行您的代碼(瀏覽器、節(jié)點(diǎn))的東西都會抱怨,因?yàn)樗鼈儾恢廊绾翁幚泶斯δ堋?/p>


查看完整回答
反對 回復(fù) 2023-05-25
?
叮當(dāng)貓咪

TA貢獻(xiàn)1776條經(jīng)驗(yàn) 獲得超12個贊

問題是頂層 await 僅在 ES 模塊中受支持。換句話說,您要么必須添加"type": "module"到 package.json 中,要么將.js文件重命名為.mjs.



查看完整回答
反對 回復(fù) 2023-05-25
  • 3 回答
  • 0 關(guān)注
  • 218 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號