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

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

創(chuàng)建新的 Promise 而不是使用 then() JS

創(chuàng)建新的 Promise 而不是使用 then() JS

白衣染霜花 2023-11-11 16:10:49
我將 Nexus 用于數(shù)據(jù)庫目的,但我有一個通常也適用于 JS/TS 的問題。knex('cars').insert(cars).then(() => console.log("data inserted"))    .catch((err) => { console.log(err); throw err })    .finally(() => {        knex.destroy();    });如何將上述內(nèi)容創(chuàng)建為新的 Promise 并拒絕或解決,如下所示byID(id: string): Promise<TEntity> {    return new Promise((resolve, reject) => {      const result = pg(cars)      .where({ 'id': id })      //   .andWhere('age', '<', 18);        .first();        if (!result)            return reject(new ModelNotFoundError('LMAO user not found'));         resolve(result)    })  }
查看完整描述

2 回答

?
ABOUTYOU

TA貢獻(xiàn)1812條經(jīng)驗 獲得超5個贊

無需將 knex 查詢包裝到 Promise 構(gòu)造函數(shù)。您可能正在嘗試寫這樣的東西:


byID(id: string): Promise<TEntity> {

    return pg(cars).where({ 'id': id }).first()

        .then(result => {

          if (!result) {

            throw new ModelNotFoundError('LMAO user not found')); 

          }

          return result;

        });

     })

  }


查看完整回答
反對 回復(fù) 2023-11-11
?
阿晨1998

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

不確定這是否是您所要求的,但您可以利用異步/等待。


const result = await new Promise(async (resolve, reject) => {

  try {

    await knex('cars').insert(cars);

    console.log("data inserted");

  } catch (err) {

    console.log(err);

    reject(err);

  } finally {

    knex.destroy();

  }

  resolve();

})

你不需要“等待”這個承諾,你也可以在那時“等待”它。我想要表達(dá)的要點是,您可以使 Promise 中的函數(shù)異步。


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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