Tag: ecmascript 2017

尝试/ catchasynchronous/等待块

我正在挖掘节点7asynchronous/等待function,并像这样在代码中徘徊 async function main() { try { var quote = await getQuote(); console.log(quote); } catch(error) { console.error(error); } } 这似乎是唯一的可能性解决/拒绝或返回/抛出asynchronous/等待,但是,V8不优化代码try / catch块? 有替代品吗?

通过forEach循环使用async / await

在forEach循环中使用async/await有什么问题吗? 我试图循环通过一个文件的数组,并await每个文件的内容。 import fs from 'fs-promise' async function printFiles () { const files = await getFilePaths(); // Assume this works fine files.forEach(async (file) => { const contents = await fs.readFile(file, 'utf8'); console.log(contents); }) } printFiles() 这个代码确实有用,但是可能会出现这种情况? 我有一个人告诉我,你不应该在这样的高阶函数中使用async/await ,所以我只是想问一下是否有任何问题。

如何从asynchronous调用返回响应?

我有一个函数foo ,这使得一个Ajax请求。 我怎样才能返回foo的回应? 我尝试从successcallback中返回值,并将响应分配给函数内部的局部variables,并返回该variables,但是没有一个方法实际返回响应。 function foo() { var result; $.ajax({ url: '…', success: function(response) { result = response; // return response; // <- I tried that one as well } }); return result; } var result = foo(); // It always ends up being `undefined`.