Javascript 当异步函数完成时,Gulp[4.0.2]挂起,即使回调已完成

Javascript 当异步函数完成时,Gulp[4.0.2]挂起,即使回调已完成,javascript,node.js,gulp,Javascript,Node.js,Gulp,我有一项任务要完成后才能完成 在我的命令上运行--verbose会告诉我它已完成运行,但不会退出进程 // ./gulpfile.js/precon/index.js const { preconMoveFile, preconExcelToMysql } = require('../../src/lib/preCon') module.exports = async done => { try { await preconMoveFile() await prec

我有一项任务要完成后才能完成

在我的命令上运行
--verbose
会告诉我它已完成运行,但不会退出进程

// ./gulpfile.js/precon/index.js

const { preconMoveFile, preconExcelToMysql } = require('../../src/lib/preCon')

module.exports = async done => {
  try {
    await preconMoveFile()
    await preconExcelToMysql()
    done()
    // return <-- doesnt work either per comment
  } catch (e) {
    throw e
  }
}
我尝试了中显示的几个选项但没有成功,也尝试了几个选项但没有成功

我还尝试调用
process.exit(0)
,但这会产生
您是否忘记发出异步完成信号?
文档中提到的警告

编辑:

我还应该注意我的root index.js文件,它需要
preco
任务

// ./gulpfile.js/index.js

exports.default = require('./default')
exports.precon = require('./precon')

挂起不是由于gulp导致的,有一个后台进程仍在运行,阻止gulp关闭

罪魁祸首是一个开放的mysql池连接

const mysql = require('mysql')
const params = require('../config/mysql')

const db = mysql.createPool(params)

db.end() // <-- running this after each task resolves the issue
const mysql=require('mysql')
const params=require(“../config/mysql”)
const db=mysql.createPool(参数)

db.end()//尝试在上一个函数/操作之后返回某些内容/call@NullDev不成功的
const mysql = require('mysql')
const params = require('../config/mysql')

const db = mysql.createPool(params)

db.end() // <-- running this after each task resolves the issue