首页 > 解决方案 > 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!');
});

标签: npmgulp

解决方案


我能够弄清楚。我在管道的末端添加了一个 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!');
});

推荐阅读