node異步方法的異步調(diào)用與同步調(diào)用實(shí)現(xiàn)方法示例
異步方法(class封裝與exports導(dǎo)出):
module.exports = class QueryLarbor { querydata() { return new Promise((resolve,reject) => { client .search({ index: configs.labor_index, type: type, body: JSON.stringify(esbody), }) .then((res) => // console.log(JSON.stringify(res)) res.hits.hits.map((v) => // console.log(v._source) resolve(v._source) ) ) .catch((err) => console.error(err)); }) } };
異步調(diào)用:
const QueryLarbor = require("./QueryLarbor"); let idl_cost_per_hour; let queryLarbor = new QueryLarbor(); //異步調(diào)用獲取值 queryLarbor.querydata().then((res) => { console.log(res); });
同步調(diào)用:
const QueryLarbor = require("./QueryLarbor"); let idl_cost_per_hour; let queryLarbor = new QueryLarbor(); //同步調(diào)用獲取值,自調(diào)用方法 (async() => { let esData = await queryLarbor.querydata() console.log(esData); })();
注:筆者在使用異步操作的時(shí)候?qū)τ谛枰卣{(diào)函數(shù)處理的邏輯通常會(huì)結(jié)合then進(jìn)行操作,與邏輯主體無關(guān)的異步操作部分則是直接使用異步調(diào)用即可,這樣就避免了線程的阻塞。
相關(guān)文章
webstorm配置支持nodejs并自動(dòng)補(bǔ)全的方法
今天小編就為大家分享一篇webstorm配置支持nodejs并自動(dòng)補(bǔ)全的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-05-05云服務(wù)器部署Node.js項(xiàng)目的方法步驟(小白系列)
這篇文章主要介紹了云服務(wù)器部署Node.js項(xiàng)目的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03如何在 Node.js 中使用 axios 配置代理并實(shí)現(xiàn)圖片并發(fā)下載
這篇文章主要介紹了如何在Node.js中使用axios配置代理并實(shí)現(xiàn)圖片并發(fā)下載,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧2024-07-07npm install --save 、--save-dev 、-D、-S&nb
這篇文章主要介紹了npm install --save 、--save-dev 、-D、-S 的區(qū)別與NODE_ENV的配置方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-08-08nodejs中解決異步嵌套循環(huán)和循環(huán)嵌套異步的問題
本篇文章主要介紹了nodejs中解決異步嵌套循環(huán)和循環(huán)嵌套異步的問題,具有一定的參考價(jià)值,有興趣的可以了解一下2017-07-07淺談Express.js解析Post數(shù)據(jù)類型的正確姿勢
這篇文章主要介紹了Express.js解析Post數(shù)據(jù)類型的正確姿勢,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-05-05