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

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

Susan Sarandon
Susan Sarandonオリジナル
2025-01-03 04:43:38632ブラウズ

インストール

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。