npm - gulp 4 异步等待
问题描述
你能帮助我吗。我正在尝试创建一个 gulp 任务,在构建我的代码后,它将尝试将所有内容保存到共享点。我在我的承诺中添加了等待,让它在继续之前先等待完成,但它不会等待并尝试在我的构建中保存文件,但它还没有完成。
gulp.task('build', async function() {
//BUILD FILES
await new Promise(resolve => {
run('npm run build')
.exec()
.pipe(gulp.dest('output/run'));
resolve();
});
//AFTER BUILD IT WILL TRY TO SAVE Build folder files to sharepoint
gulp.src(['./build/**']).pipe(
spsave(
{
siteUrl: siteUrl,
folder: folderUrl,
flatten: false
},
cred.account
)
);
notify('Process Done 2!');
});
解决方案
我能够弄清楚。我在管道的末端添加了一个 on 并且我称之为我的决心
gulp.task('build', async function() {
await new Promise(resolve => {
run('npm run build')
.exec()
.pipe(gulp.dest('output/run'))
.on('end', resolve);
});
gulp.src(['./build/**']).pipe(
spsave(
{
siteUrl: siteUrl,
folder: folderUrl,
flatten: false
},
cred.account
)
);
notify('Process Done 2!');
});
推荐阅读
- django - 如何在我的模板中使用 Django DeleteView
- c# - 如何在 Azure C# SDK 中使用 WebAppsOperationsExtensions 和 IWebAppsOperations
- angular - 如何以角度动态更改组件名称?
- flutter - Flutter / Dart:在小部件测试中点击AppBar小部件时未调用onPressed
- linux - CondaDependencyError:无法运行求解器。没有可用的 SAT 实施
- node.js - 在 Docker Compose 下将 OpenTelemetry 跟踪信息从我的应用程序获取到 jaeger 时遇到问题
- r - 如何从矩阵中复制一行并将其设置为r中另一个矩阵中的一行?
- postscript - 保存到 postscript 时符号显示不正确
- sql - CTE 与子查询
- sql - 动态调整选择字段 - PostgreSQL