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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

為什么帶有回調(diào)的函數(shù)不在異步函數(shù)內(nèi)執(zhí)行?

為什么帶有回調(diào)的函數(shù)不在異步函數(shù)內(nèi)執(zhí)行?

www說(shuō) 2023-09-14 17:57:22
我正在使用 AWS SDK,并使用 Lambda 運(yùn)行此代碼。我注意到,當(dāng)我在異步函數(shù)中使用帶有回調(diào)的上傳函數(shù)時(shí),它不會(huì)執(zhí)行該函數(shù)。const aws = require('aws-sdk');exports.handler = async (event) => {  const s3 = new aws.S3();  console.log('START UPLOAD')  const params = {    Bucket: 'practice-bucket',    Key: 'hello.txt',    Body: "hello",  }    s3.upload(params, function(err, data) {    console.log(err, data);  });};我知道如何進(jìn)行這項(xiàng)工作??梢酝ㄟ^(guò)將函數(shù)更改為非異步函數(shù),或者使用await 并將upload() 的響應(yīng)轉(zhuǎn)換為promise。但我仍然好奇為什么它不執(zhí)行 upload() 函數(shù)?我希望它只是執(zhí)行一個(gè)常規(guī)函數(shù),因?yàn)槲覜](méi)有告訴它等待。
查看完整描述

1 回答

?
慕標(biāo)5832272

TA貢獻(xiàn)1966條經(jīng)驗(yàn) 獲得超4個(gè)贊

這就是 Javascript 的事件循環(huán)如何與異步函數(shù)配合使用,在您的情況下,函數(shù)在 s3.upload 完成之前返回。

您可以通過(guò)將 s3.upload 轉(zhuǎn)換為 Promise,然后使用 wait 獲取結(jié)果并阻止異步處理程序的返回來(lái)解決此問(wèn)題

await result = s3.upload(params).promise();


查看完整回答
反對(duì) 回復(fù) 2023-09-14
  • 1 回答
  • 0 關(guān)注
  • 113 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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