标签:
You can also start a chain of then()
method calls via Promise.resolve()
and execute the synchronous code inside a callback:
function asyncFunc() { return Promise.resolve() .then(() => { doSomethingSync(); return doSomethingAsync(); }) .then(result => { ··· }); }
An alternative is to start the Promise chain via the Promise constructor:
function asyncFunc() { return new Promise((resolve, reject) => { doSomethingSync(); resolve(doSomethingAsync()); }) .then(result => { ··· }); }
This approach saves you a tick (the synchronous code is executed right away), but it makes your code less regular.
[Javascript] Promise-based functions should not throw exceptions
标签:
原文地址:http://www.cnblogs.com/Answer1215/p/5926759.html