Node.js中Express框架使用axios同步請求(async+await)實(shí)現(xiàn)方法
axios一般是作為異步請求使用的,但是某種特殊情況下需要同步請求,如何實(shí)現(xiàn)呢?
首先定義一個(gè)方法syncAxios
let axios = require('axios');
exports.syncAxios = function (obj = {}) {
let url = "http://www.rrbay.com/api/";
return new Promise((resolve, reject) => {
axios(url, {
method: 'POST',
timeout: 5000,
params: {
sProcName: obj.sProcName,
idNo: obj.id,
userName: obj.qq,
overTime: obj.endTime
}
}).then((res) => {
resolve(res.data);
}).catch((error) => {
reject(error)
})
})
};然后在controllers 調(diào)用
exports.check = function (req, res) {
//定義async方法體
XXXMode.findById(id).populate('author').exec(async function (err, result) {
let dataCode = false;
if(result.status ==0){
//同步調(diào)用
await baseapi.syncAxios({
sProcName: 'Update',
id: '000000-1111-2222-3333-9999999',
qq: '391502069',//result.author.name,
endTime: '2022/12/31 11:39:05'//result.EndTime
}).then((data) => {
console.log(data, 'res');
}).catch((err) => {
console.log(err && err.stack);
});
}
result.save(function (err, onewxtob) {
if (req.xhr) {
return res.json({
status: !err
})
}
});
});
};
view中使用模板引擎jade,需要在請求check后,延遲刷新頁面顯示請求結(jié)果
setTimeout(function () {
$(location).attr('href',window.location.href)
}, 1000)這里的setTimeout實(shí)現(xiàn)了延遲加載刷新頁面的效果,結(jié)合控制器的交互,最終實(shí)現(xiàn)了同步操作的效果。
相關(guān)文章
node.js+express留言板功能實(shí)現(xiàn)示例
本文介紹基于nodejs+express+art-template的留言板功能。包含列表界面、添加界面和發(fā)送留言功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-09-09
node.js中的console.timeEnd方法使用說明
這篇文章主要介紹了node.js中的console.timeEnd方法使用說明,本文介紹了console.timeEnd的方法說明、語法、使用實(shí)例和實(shí)現(xiàn)源碼,需要的朋友可以參考下2014-12-12
Nodejs使用express連接數(shù)據(jù)庫mongoose的示例
數(shù)據(jù)庫并進(jìn)行操作通常需要使用第三方庫,其中最流行的是mongoose,本文主要介紹了Nodejs使用express連接數(shù)據(jù)庫mongoose的示例,具有一定的參考價(jià)值,感興趣的可以了解一下2024-06-06
Node配合WebSocket做多文件下載以及進(jìn)度回傳
這篇文章主要介紹了Node配合WebSocket做多文件下載以及進(jìn)度回傳功能,本文通過實(shí)例代碼效果截圖給大家介紹的非常詳細(xì),需要的朋友可以參考下2019-11-11
Node.js Windows Binary二進(jìn)制文件安裝方法
這篇文章主要介紹了Node.js Windows Binary二進(jìn)制文件安裝,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下2019-05-05
Node.js實(shí)現(xiàn)http請求服務(wù)與Mysql數(shù)據(jù)庫操作方法詳解
這篇文章主要介紹了Node.js實(shí)現(xiàn)http請求服務(wù)與Mysql數(shù)據(jù)庫操作方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧2022-10-10

