我有一个vue写的标签
<img :src=getIcon(id)>
const getIcon = async (appId: number) => {
const db = await getInstance().queryByPrimaryKey(appId)
return db ? db.url : ''
}
其中,queryByPrimaryKey返回的是一个promise,所以这里用await等待promise的值,因为用到了await,所以外层又需要用async包裹,这样整体函数返回的又是一个promise,那么src属性实际上要的是返回的string值,而不是包裹着string的promise,我如何拿到string值?
方法一:
<img :src="imgUrl">
const getIcon = async (appId: number) => {
const db = await getInstance().queryByPrimaryKey(appId)
imgUrl = db ? db.url : ''
}
方法二:
计算属性
https://cn.vuejs.org/guide/essentials/computed.html
你这样显然不行,你直接 watch
id 就行
const imgSrc = ref('')
const id = ref<number | null>(null)
watch(
() => id.value,
async newVal => {
if (!newVal) return
const db = await getInstance().queryByPrimaryKey(newVal)
imgSrc.value = db ? db.url : ''
}
)
第一个问题,这个为什么先输出3后输出2呢 第二个问题,这个为什么会交错输出呢,142536 promise小白一枚,上述两个疑问,希望能得到详细的解答
请大佬帮忙分析一下,以下代码执行顺序(正确的顺序是:a 1 2 3 b 4 c 5):
请问上面这段代码,我想封装成Promise 这种 直接调用this.home_barlist1().then 该怎么改呢? 我改成下面这样 好像不行
打印2的位置 怎么解释呢
问题内容: 我是一个node.js新手,我试图了解如何以非阻塞方式像节点一样组织一些逻辑。 我有一组环境[‘stage’,’prod’],还有另一组称为品牌[‘A’,’B’,’C’]的参数和一组设备[‘phone’,’tablet’] 。 在节点的回调驱动的世界中,我有这个: 我正在尝试为每个环境构建带有块的报告: 我的问题是,由于这里的所有内容都是如此异步的,尤其是在getTape内部,它调用了
js Promise 返回数组但无法使用 该如何返回结果呢? 在这里打印e,可以看到是个数组,但e.length显示就是0;而且直接使用e[0]就是undefined