我的问题是如何在 node.js 或 v8 环境中执行等待函数结果。
我们知道,node.js 是单线程非阻塞 I/O 环境。
什么是内部代码及其工作原理?
异步函数示例:
async function asyncCall() {
// `getCreditorId` and `getCreditorAmount` return promise
var creditorId= await getCreditorId();
var creditAmount=await getCreditorAmount(creditorId);
}
Run Code Online (Sandbox Code Playgroud)
如果执行此函数,则首先等待 CreditorId,然后使用 CreditorId 调用 getCreditorAmount,并再次仅在此异步函数中等待 Creditor Amount。
而不是异步函数,其他执行不等待,效果很好。
如果在这个例子中使用 Promise
getCreditorId().then((creditorId)=>{
getCreditorAmount(creditorId).then((result)=>{
// here you got the result
})
});
Run Code Online (Sandbox Code Playgroud)
我的假设是,如果 async wait 在内部使用 Promise,那么 async 必须知道 getCreditorAmount 函数中使用哪个变量作为参数。
它怎么知道的?
也许我的问题毫无价值?如果它有答案那么我想知道答案。
感谢帮助。
我是Node.js的新手.
const fs = require('fs');
fs.unlink('/tmp/hello', (err) => {
if (err) throw err;
console.log('successfully deleted /tmp/hello');
});
Run Code Online (Sandbox Code Playgroud)
这是我从node.js文档文件系统介绍示例中复制的一些代码.
但是,我很困惑.可以unlink()删除文件夹吗?
我试过但它不起作用.
那么,可以unlink()删除文件夹吗?