javascript - 如何在 A 之前记录 B?
问题描述
我有以下代码
function a() {
b().then((success) => {
if (success) {
console.log('B')
}
})
}
function b() {
return new Promise((resolve, reject) => {
resolve(true)
console.log('A')
})
}
a();
如何在不使用B
之前登录A
setTimeout(()=>{console.log('A')}, 0)
解决方案
您可以在第一个 Promise 中将函数作为值传递,稍后将执行该值。
function a() {
b().then((success) => {
if (success) {
console.log('B')
success()
}
})
}
function b() {
return new Promise((resolve, reject) => {
resolve(() => console.log('A'))
})
}
a();
推荐阅读
- node.js - 我正在使用 Oauth 进行 google 身份验证并获取 client-id 和 client_secret 但它显示未定义
- android - Fetch 函数导致 SQL Transient 服务器行为异常
- flutter - 类似 Whatsapp 的搜索图标,点击时覆盖标题但在正文中 - 使用 Flutter
- excel - 从单元格引用转换为命名范围
- c++ - 为什么 mutiset 不像 set
- scala - scala中的复合类型与mixins
- linux - Visual Studio Code 通过脚本触发热部署
- python-3.x - Django Rest 框架过滤器的问题
- teamcity - GitVersion 在 TeamCity 构建中引发身份验证错误
- node.js - 无法在非异步问题中使用的等待错误