首页 > web前端 > js教程 > Simpel 插件 Node.js 同步、回调、承诺、断言。

Simpel 插件 Node.js 同步、回调、承诺、断言。

Susan Sarandon
发布: 2025-01-03 04:43:38
原创
631 人浏览过

安装

npm install node-plug
登录后复制

使用示例:

  • plugin.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 插件添加同步和回调插件。

  • plugin.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中文网其他相关文章!

来源:dev.to
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板