Every line of 'await is only valid in async function' code snippets is scanned for vulnerabilities by our powerful machine learning engine that combs millions of open source libraries, ensuring your JavaScript code is secure.
10 function makeAwaitFunc(variant?: string): any { 11 12 // Return an await function tailored to the given options. 13 switch (variant) { 14 case 'in': return getExtraInfo(traverseInPlace); 15 case 'top': return (n: number) => getExtraInfo(traverseInPlace, n); 16 default: return getExtraInfo(traverseClone); 17 } 18 }
34 return function asyncFunction() { 35 const args = Array.from(arguments); 36 return new Promise(function (resolve, reject) { 37 let gen; 38 39 function step(next) { 40 const value = next.value; 41 if (next.done) { 42 return resolve(value); 43 } 44 if (value instanceof Promise) { 45 return value.then( 46 result => step(gen.next(result)), 47 error => { 48 try { 49 step(gen.throw(error)); 50 } catch (err) { 51 throw err; 52 } 53 } 54 ).catch((err) => { 55 warn("Unhandled error in async function.", err); 56 reject(err); 57 }); 58 } 59 step(gen.next(value)); 60 } 61 62 if (typeof func !== "function") { 63 reject(new TypeError("Expected a Function.")); 64 } 65 // not a generator, wrap it. 66 if (func.constructor.name !== "GeneratorFunction") { 67 gen = (function*() { 68 return func.call(self, ...args); 69 }()); 70 } else { 71 gen = func.call(self, ...args); 72 } 73 try { 74 step(gen.next()); 75 } catch (err) { 76 warn("The generator threw immediately.", err); 77 reject(err); 78 } 79 }); 80 };
5 function isAsyncAwait(value) { 6 if (value && typeof value === 'object') { 7 return value.asyncAwait && 8 typeof value.asyncAwait.then === 'function'; 9 } 10 11 return false; 12 }
122 AwaitExpression: function Function(path, state) { 123 requiresTranspilation = true; 124 },