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

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

nodejs 中 const 函數(shù)中的承諾

nodejs 中 const 函數(shù)中的承諾

慕村9548890 2023-04-20 16:49:37
這是我的功能 const f = (value,err) => {  if(!value === Number){    throw err;  }  return (value);}使用 promises 我想返回一個(gè)參數(shù)值的對象,等待一段時(shí)間后它將返回number中的參數(shù)。那可能嗎?
查看完整描述

1 回答

?
FFIVE

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

promise 本身不做任何事情,它本身也不做任何異步操作(除了 promise反應(yīng)總是異步的)。promise 只是一種標(biāo)準(zhǔn)化的方式來報(bào)告(可能)異步的事情的完成。所以你的問題的字面答案是:不,你不能使用承諾來做到這一點(diǎn),而不是靠它自己。您必須將它與類似setTimeout或類似的東西結(jié)合起來。


另請注意,這if (!value === Number)始終是錯(cuò)誤的。它的計(jì)算方式如下:!value,否定 的值value,然后x === Number,這將始終為 false,因?yàn)闆]有任何值在被否定時(shí)變成函數(shù)Number。


但是,例如,如果你想檢查某物是否是數(shù)字但在 100 毫秒內(nèi)沒有響應(yīng):


const f = (value, err) => {

    return new Promise((resolve, reject) => {

        setTimeout(() => {

            if (typeof value !== "number") {

                reject(err);

            } else {

                resolve(value);

            }

        }, 100);

    });

};

除了承諾之外,還有兩個(gè)重大變化:

  1. 用于setTimeout引入異步性,以及

  2. 將條件更改if為不會總是錯(cuò)誤的東西(我可能猜對了也可能沒有猜對你想要的東西:-))


promise 反應(yīng)是對在 promise 上注冊的then,catch或callback 的調(diào)用。finally這是我所說的“承諾反應(yīng)是異步的”的例子:

console.log("Before creating the promise");

new Promise(resolve => {

    console.log("Inside the promise executor function");

    resolve(42);

})

.then(value => {

    console.log(`Promise reaction ran, value = ${value}`);

});

console.log("After creating the promise");

該代碼具有以下輸出:


Before creating the promise

Inside the promise executor function

After creating the promise

Promise reaction ran, value = 42

請注意,除了對回調(diào)的調(diào)用then(promise 反應(yīng))之外,一切都是同步的,根據(jù)規(guī)范,回調(diào)總是異步完成的,即使(如本例)在將反應(yīng)添加到其中時(shí) promise 已經(jīng)確定。


查看完整回答
反對 回復(fù) 2023-04-20
  • 1 回答
  • 0 關(guān)注
  • 140 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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