promise

59 阅读1分钟

Promise 是一个对象,

用于保存任何异步操作的结果

当我们创建对象的时候进入了挂起状态 (pending)

然后开始处理一个异步操作

这个操作有可能成功有可能失败

如果成功了,我们就说解决了  pending->resolve 。promise 的状态就由  pending 转为resolved了。 

如果失败了吗,promise 的状态由  pending->rejected.我们就用 rejected 函数向调用着返回错误信息。

如何创建

var p = new Promise((resolve,reject)=>{
    resolve('成功了')

    //or

reject('失败了')

})

然后使用

p.then((d)=>{ console.log(d)})
   .catch((err)=>{console.log(err)})


promise 和 async await  的 2 种方式调用:

async  异常处理,需要 try catch  程序来处理。

安装 homebrew

https://brew.sh/

安装 mongodb

1、brew install mongodb 
报错 : No formulae found in taps.
2、brew tap mongodb/brew 
报错:
3、brew install node@14 
 安装中  报错:Error: Failed to download resource "icu4c--patch"
4、brew install "icu4c--patch"
    报错:No formulae found in taps.
5、重新试一次: brew install mongodb
我的电脑良心发现,终于安装成功了,我也不知道怎么安装成功的。
难道跟我安装了  mongodb compass 客户端 有关系吗?
还是跟我 npm install mongoose 有关系?



安装成功之后, 

运行 

mkdir -p /data/db  有问题,提示 system 只有 readonly 
运行  chown -R 。。。。 也有问题。
后来我使用  pwd  获取 系统地址 
然后 mongod --dbpath=${系统地址}/data/db  就启动成功了

下载地址

https://www.mongodb.com/try/download/community
不行,下载的是 一个文件夹,不是一个 dmg 格式的

搜索关键字  mongodb  客户端。

mongodb 客户端下载地址:

https://www.mongodb.com/try/download/compass

下载成功,打开长下图这个样子:

成功启动 mongod --dbpath= 之后, 就能打开这个客户端了。

const mongoose = require('mongoose');mongoose.connect('mongodb://localhost/playground')    .then(()=> console.log('connected mongoDB'))    .catch(err => console.error("could not connect to Mongodb...",err))

demo 里的  mongoDB 也能连接成功了。