ホームページ > ウェブフロントエンド > jsチュートリアル > Simpel プラグイン Node.js の同期、コールバック、プロミス、アサートを実行します。

Simpel プラグイン Node.js の同期、コールバック、プロミス、アサートを実行します。

Susan Sarandon
リリース: 2025-01-03 04:43:38
オリジナル
626 人が閲覧しました

インストール

npm install node-plug
ログイン後にコピー

使用例:

  • プラグイン.js
export const pluginSync = {
  run() {
    console.log('Plugin sync dijalankan!')
  },
}

export const pluginCallback = {
  run() {
    console.log('Plugin callback mulai...')
    setTimeout(() => console.log('Plugin callback selesai!'), 15)
  },
}

export const pluginPromise = {
  async run() {
    console.log('Plugin Promise mulai...')
    await new Promise((resolve) => setTimeout(resolve, 15))
    console.log('Plugin Promise selesai!')
  },
}
ログイン後にコピー
  • main.js
import { addPlugin, runPlugin, test } from 'node-plug'
import { pluginSync, pluginCallback, pluginPromise } from './plugin.js'

// Menambahkan plugin
addPlugin(pluginSync)
addPlugin(pluginCallback)
addPlugin(pluginPromise)

// Menjalankan plugin
runPlugin()

// Melakukan pengujian
test([
  'Plugin sync dijalankan!',
  'Plugin callback mulai...',
  'Plugin Promise mulai...',
  'Plugin callback selesai!',
  'Plugin Promise selesai!',
])
ログイン後にコピー

上記のコードは正常に動作しますが、Promise プラグインがないとエラーが発生します。

Simpel plugin Node.js mendukung sync, callback, promise, dan assert.

Promise プラグインがないためエラーが発生しました
なぜエラーが発生するのでしょうか? runPlugin メソッドが Promise を返すためです。

解決策:
同期プラグインとコールバック プラグインを Promise プラグインに追加します。

  • プラグイン.js
const pluginSync = {
  run() {
    console.log('Plugin sync dijalankan!')
  },
}

const pluginCallback = {
  run() {
    console.log('Plugin callback mulai...')
  },
}

export const pluginPromise = {
  async run() {
    pluginSync.run()
    pluginCallback.run()
    await new Promise((resolve) => setTimeout(resolve, 15))
    console.log('Plugin callback selesai!')
  },
}

// atau
/*const pluginSync = {
  run() {
    console.log('Plugin sync mulai...')
  },
}

const pluginCallback = {
  run() {
    console.log('Plugin callback mulai...')
  },
}

export const pluginPromise = {
  async run() {
    pluginSync.run()
    await new Promise((resolve) => setTimeout(resolve, 15))
    console.log('Plugin sync selesai!')
    pluginCallback.run()
    await new Promise((resolve) => setTimeout(resolve, 15))
    console.log('Plugin callback selesai!')
  },
}*/

// atau
/*const pluginSync = {
  run() {
    console.log('Plugin sync mulai...')
  },
}

const pluginCallback = {
  run() {
    console.log('Plugin callback mulai...')
  },
}

export const pluginPromise = {
  async run() {
    pluginSync.run()
    await new Promise((resolve) => setTimeout(resolve, 15))
    console.log('Plugin sync selesai!')
    pluginCallback.run()
    await new Promise((resolve) => setTimeout(resolve, 15))
    console.log('Plugin callback selesai!')
    console.log('Plugin Promise mulai...')
    await new Promise((resolve) => setTimeout(resolve, 15))
    console.log('Plugin Promise selesai!')
  },
}*/
ログイン後にコピー
  • main.js
import { addPlugin, runPlugin, test } from 'node-plug'
import { pluginPromise } from './plugin.js'

// Menambahkan plugin
addPlugin(pluginPromise)

// Menjalankan plugin
runPlugin()

// Melakukan pengujian
test([
  'Plugin sync dijalankan!',
  'Plugin callback mulai...',
  'Plugin callback selesai!',
])

// atau
/*import { addPlugin, runPlugin, test } from 'node-plug'
import { pluginPromise } from './plugin.js'

// Menambahkan plugin
addPlugin(pluginPromise)

// Menjalankan plugin
runPlugin()

// Melakukan pengujian
test([
  'Plugin sync mulai...',
  'Plugin sync selesai!',
  'Plugin callback mulai...',
  'Plugin callback selesai!',
])*/

// atau
/*import { addPlugin, runPlugin, test } from 'node-plug'
import { pluginPromise } from './plugin.js'

// Menambahkan plugin
addPlugin(pluginPromise)

// Menjalankan plugin
runPlugin()

// Melakukan pengujian
test([
  'Plugin sync mulai...',
  'Plugin sync selesai!',
  'Plugin callback mulai...',
  'Plugin callback selesai!',
  'Plugin Promise mulai...',
  'Plugin Promise selesai!',
])*/
ログイン後にコピー

以上がSimpel プラグイン Node.js の同期、コールバック、プロミス、アサートを実行します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート