快應(yīng)用異步接口支持返回Promise(1010+)的方式,開發(fā)者配套async和await的方式編寫代碼,達(dá)到同步效果。對于接口調(diào)用成功是返回一個對象res = {data} ,開發(fā)者可以通過res.data獲取接口實際返回的結(jié)果,通過res.code獲取失敗的返回code。
以storage.get()接口為例,代碼如下:
復(fù)制
<script>
import storage from '@system.storage';
const injectRef = Object.getPrototypeOf(global) || global;
// 注入regeneratorRuntime
injectRef.regeneratorRuntime = require('@babel/runtime/regenerator');
module.exports = {
onDestroy: function () {
console.info("onDestroy");
},
getValue: async function () {
try {
let re = await storage.get({
key: 'name'
});
console.info("getValue re="+JSON.stringify(re));
let value=re.data;
} catch (error) {
console.info("getValue error="+error);
}
}
}
</script>
輸出如下:
getValue re={"data":"hanmeimei"}
注意事項:
對于await的方式調(diào)用需要引入@babel/runtime/regenerator。
欲了解更多詳情,請參見:
快應(yīng)用回調(diào)介紹:
https://developer.huawei.com/consumer/cn/doc/development/quickApp-References/quickapp-api-rules#h1-1575622944242