主要解决方法是用了ES6的 async/await 还有 Promise
我先写写我对async/await的理解,这两个方法可以理解为语法糖,也可以理解成标签。一般的用法则是,
var fn_hello = async (ctx, next) => { let data = await getData.jjj(); ctx.response.body = data; console.log(data); };
或许上面的有人看不明白那么我就换一个写法
async function fn_hello (ctx, next){ let data = await getData.jjj(); ctx.response.body = data; console.log(data); };
*
这个是getData.jjj()内部的方法实现,fs的操作是一个异步操作,所以他的结果再回调中,这个时候就可以去了解一个Promise这个函数.这个一时半会也讲不清楚。我在回调中把resolve(‘222222’);方法传回给Promise.最后在return 这个对象。然后在调用这个方法的界面把这个方法设置成同步操作,这就解决了嵌套回调操作的问题。
**
**