JavaScript promise使用
2023-03-07 09:16:15 时间
使用:
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);
});
}
相关文章
- 招募在 AWS 工作的开源贡献者
- 使用 AWS IoT 按钮实现按需 VPN 访问
- 2018 年十大热门文章
- 了解 AWS 服务和解决方案 – AWS 1 月在线技术讲座
- 在 EKS 上使用 Kubernetes Service Catalog 和 AWS Service Broker
- KubeCon 西雅图 2018 年回顾
- 回顾:2018 年 re:Invent 大会上的开源
- AWS Cognito User Pool 实现 Alexa 账户关联
- 为您的 IT 挑战选择正确工具
- 使用 AWS CDK 增强您的基础设施
- java.net.UnknownHostException
- java_ant详解
- JAVA_ant详解
- 基于 Tag 驱动的 EBS 类型优化 CloudFormation 模板
- 动手 lambda 新功能—custom runtime
- 分布式 Lambda 从海外到中国自动同步S3文件
- 在 IT 教学中使用 AWS AI 和 Amazon Sumerian
- 新开放 – AWS 欧洲(斯德哥尔摩)区域
- 接下来,听听我们的 AWS 英雄怎么说…
- etcd 目前为 CNCF 孵化项目