getInstallInfo () {
var openinstall = api.require('openinstall');
openinstall.getInstall({
timeout:10
},function(ret, err){
alert(JSON.stringify(ret));
});
}
getInstallInfo();
代码如上,要怎么把 ret 的值传出来呢?
return
你这都写的什么东西,搞个 markdown 语法,至少分个行吧?
回复里面好像用不了 markdown,你只能将就着看了
```
function getInstallInfo() {
return new Promise((resolve, reject) => {
const openinstall = api.require('openinstall');
openinstall.getInstall({ timeout:10 }, (ret, err) => {
if (err) {
reject(err)
} else {
resolve(ret)
}
});
})
}
getInstallInfo()
.then((val) => {
alert(JSON.stringify(val))
})
.catch((err) => {
console.error(err)
})
```
虽然代码是这样的,但是这些东西你都不能直接用,因为 Promise 有兼容性问题,箭头函数需要转译,所以,你再看看这方面(webpack + babel)的东西吧。
2 楼的 promise 箭头函数现在已经可以直接在 chrome 直接跑了了
如果你想要兼容又不想搞 babel
省事的就是给 getInstallInfo 传个 callback 方法,然后在你 alert 的地方调用这个方法把 ret 传给 callback,然后把使用 ret 的逻辑全写到 callback 里面(著名回调地狱)
trigger 一个 custom event 也还行