Comments (2)
Hey!
-
Unfortunately, you can not use
async/await
syntax in programmatic API. You need to use generators andyield
keyword. More can be found here -
If i got your question right, you should wrap your function in
bluebird
coroutine for correct work.
from taskr.
Hey @radum
Without @taskr/esnext
, you can only use async
/await
if your version of Node supports it. This means 7.4+ (with flag) or 8.x.
As @hzlmn said, you can only use the esnext
package with a taskfile
. Again, for programmatic usage, your Node version must support async
natively.
const Taskr = require('Taskr');
const { build, clean } = require('./my-tasks');
function * default(t) {
yield t.serial(['clean', 'build'])
}
const taskr = new Taskr({
tasks: { build, clean, default }
});
taskr.start(); // runs "default"
For your second question, you can await
(or yield
) any Promise
. Your clean
task is missing a return
statement, which means the Promise never leaves the function.
function clean(pattern, options) {
return new Promise((resolve, reject) => {
rimraf(pattern, { glob: options }, (err, result) => (err ? reject(err) : resolve(result)));
})
}
Although, I would recommend using the @taskr/clear
package instead.
Hope that helps~
from taskr.
Related Issues (20)
- Guide to convert Gulp plugins? HOT 5
- support native async function HOT 10
- task.source doesn't take effect after a yeild task HOT 1
- RFC: Task / Plugin Unification HOT 5
- Function option for start, serial, and parallel HOT 1
- @taskr/postcss failes using options/plugins HOT 11
- add taskr-standard HOT 4
- excluding specific file on the task build? HOT 1
- `standalone` options doesn't works with @task/browserify HOT 1
- Deprecation message
- How can I mangle using this plugin ? what should I pass in options ? HOT 7
- @taskr/typescript support for tsconfig.json HOT 1
- Duplication of files (in wrong dirs) when doing multiple dir copies HOT 3
- TypeError: A value [object Object] was yielded that could not be treated as a promise. HOT 2
- Unhandled rejection TypeError: Cannot read property 'apply' of undefined
- Hi 👋 is this project still maintained somehow? HOT 2
- @taskr/pug compiler HOT 7
- Abandoned project? HOT 2
- A Strange Syntax Error HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from taskr.