原始代码
以调用阿里云api实现人脸识别为例,原始的Node.js代码可以利用OpenAPI Explorer查看示例代码:链接: link
主体调用部分代码:
client.request('CompareFace', params, requestOption).then((result) => {
console.log(JSON.stringify(result));
}, (ex) => {
console.log(ex);
})
目标:把res给存为后续可用变量!
解决方法:使用async…let await
async function fn(){ //表示异步,这个函数里面有异步任务
let result = await xxx //表示后面结果需要等待数据读取完后执行
}
此处参考:链接: link
具体操作
1.
exports.main = (event, context) => {
改为
exports.main = async(event, context) => {
2.
client.request('CompareFace', params, requestOption).then((result) => {
console.log(JSON.stringify(result));
}, (ex) => {
console.log(ex);
})
改为
let CompareFace = await client.request('CompareFace', params, requestOption).then(result => {
var arrJosn = JSON.stringify(result);
return {result:arrJosn}
}).catch(error => {
return {result: "error!" }
})
const result = CompareFace.result
console.log("result", result);