JavaScript promise使用
JavaScript Promise 使用
2023-09-27 14:29:07 时间
使用:
function getMessageData() {
var queryUrl = "http://1.1.1.1:1";
var param = {};
return new Promise((resolve, reject)=>{
request.post(queryUrl, JSON.stringify(param), function(result){
if(result.Result == 0 && result.Data.length > 0){
resolve(result.Data)
} else{
resolve('');
console.log('error', result);
}
}, function(error){
console.log(error);
reject('error', error);
})
}).catch((err)=>{
console.log('error', err);
})
}
涉及到关联多次查询的话,可以用链式操作
function getMessageData() {
var queryUrl = "http://1.1.1.1:1";
var param = {};
return new Promise((resolve, reject) => {
request.post(queryUrl, JSON.stringify(param ), function (result) {
if (result.Result == 0 && result.Data.length > 0) {
resolve(result.Data)
} else {
resolve('')
}
}, function (error) {
console.log(error)
reject(error)
})
}).then(data => {
var param = data;
return new Promise((resolve, reject) => {
request.post(queryUrl, JSON.stringify(param), function (result) {
if (result.Result == 0) {
resolve(result)
} else {
console.log(result)
resolve('')
}
}, function (error) {
console.log(error)
reject(error)
})
})
}).catch((err) => {
console.log(err)
})
}
调用:
async function loadData() {
var messageList = await getMessageData();
console.log(messageList );
}
还可以这样
function loadData(){
getMessageData().then(data => {
console.log(data);
});
}
相关文章
- 【JavaScript】var与let的区别&var的作用域及其相关拓展
- JavaScript 33. Promise
- JavaScript对象编程-第3章
- 《JavaScript设计模式》——导读
- 《JavaScript设计模式》——11.4 JSONP
- 《移动网页设计与开发 HTML5+CSS3+JavaScript》—— 1.4 真正的HTML5
- [js高手之路]javascript腾讯面试题学习封装一个简易的异步队列
- 浅析JavaScript中如何实现并发控制:并发控制的理解和执行流程、使用 asyncPool 实现并发控制及其实现原理、如何手写 Promise.all 和 Promise.race
- selenium之调用Javascript
- javascript创建对象之工厂模式(一)