在使用await async的时候,定义一个async函数:
async updateUserInfo(objectId, username, mobilePhoneNumber, appId){
let replaceSql = `update xc_scm_leancloud_users set username="${username}",mobilePhoneNumber="${mobilePhoneNumber}" where objectId="${objectId}" and appId="${appId}"`;
scmSequelize.query(replaceSql);
}
调用:
updateUserInfo(objectId, username, mobilePhoneNumber, appId)
.catch(err => {
logger.error('leancloudUser afterUpdate err: ', err);
res.send(new XCResult(false, new XCError('', XC_BIZ_ERROR_TYPE.BIZ_ERROR,err)));
return next();
});
在updateUserInfo()中没有返回值的时候,整个服务器的内存占用为90M左右,在updateUserInfo()中加上返回值:
async updateUserInfo(objectId, username, mobilePhoneNumber, appId){
let replaceSql = `update xc_scm_leancloud_users set username="${username}",mobilePhoneNumber="${mobilePhoneNumber}" where objectId="${objectId}" and appId="${appId}"`;
return scmSequelize.query(replaceSql);
}
服务器的内存占用为140M+,这是怎样产生的?我想问一下promise的resolve和reject对内存的影响是什么?怎样影响的?
感觉是你异步函数里面的占用
promise用栈维护的,只要不是链的太长,或太多,promise不太会有影响的