在Node.JS中,如果你即不喜欢回调代码嵌套,也不喜欢promise的链式写法,可以使用async/await将程序改造成顺序执行的。那么调用时和普通函数调用有何不同? 因为 await 只能在async中调用,因此可以:
(async () => {
await asyncCall()
console.log(2)
})();
在ES6语法中,可以通过async/await将上面的回调函数按顺序执行。
首先将原来的方法 promisify 化,引用 util 库将 step 函数即可:
const util = require('util')
var stepAsync = util.promisify(step)
然后用 async/await 顺序执行,注意 await 只能在 async 函数中使用
var test = async function() {
let result1 = await stepAsync(0)
let result2 = await stepAsync(0)
console.log(result1, result2)
}
test()
旺司OnceOA是一款个人可以免费使用的多人知识文档管理协作软件。OnceOA基于自主研发的内存数据库和Web应用框架, 纯绿色软件,解压即用。无需配置复杂的数据库和网页服务器就可搭建知识文档管理服务器。 下载地址: http://onceoa.com
OnceOA基于自研的底层软件,在低价ARM设备上也能流畅运行,几十元就可搭建个人24小时在线的下载设备,云笔记和照片备份系统,数据共享中心。
在 Stack Overflow 的 2019 年开发者调查中,VS Code 成为了最受欢迎的开发工具,遥遥领先其他的开发工具。
OAuth 2.0 是一个行业的标准授权协议。它的最终目的是为第三方应用颁发一个有时效性的令牌 token。使得第三方应用能够通过该令牌获取相关的资源。常见的场景就是:第三方登录。登录流程大致如下:
Redis中有两个内置的函数mstime/ustime,能直接获取当前时间的整数值。
调用:
serverLog(LL_NOTICE, "Redis mstime %lld", mstime());
serverLog(LL_NOTICE, "Redis ustime %lld", ustime());
JavaScript的数据中可通过splice/slice在指定位置添加或删除元素。另外还有slice、delete等方法实现。
splice方法向/从数组中添加/删除项目,然后返回被删除的项目。该方法会改变原始数组。
arrayObject.splice(index, howmany, item1, ..., itemX)
在node.js中只需要几行代码就可以发送http请求,通过检查statusCode可以判断该网址服务是否有效。
如下代码:
var http = require('http')
var checkExists = function(urlPath, cb) {
var options = { host: '192.168.2.101', port: 8064, path: encodeURI(urlPath)}
var req = http.request(options, function(r) {
cb && cb(r.statusCode == 200);
})
req.end()
}
tar -zcvf article.tar.gz ./article将当前目录下的article.tar.gz解压到 article2 下, -C 代表解压到指定目录
mkdir ./article2 #创建要解压到目录 tar -zxvf article.tar.gz -C ./article2
nano /usr/lib/systemd/system/miner.service
[Unit]Description=miner[Service]ExecStart=/path/to/miner[Install]WantedBy=multi-user.target