【发布时间】:2017-07-25 00:35:31
【问题描述】:
在这个函数中,回调是在内联数组完成之前调用的。仅当 inline 具有所有值时如何调用它?
function inlineSearch( search, callback ) {
const inline = []
mal.quickSearch( search ).then( response => {
response.anime.forEach( anime => {
anime.fetch( ).then( json => {
inline.push( replyInline( json ) )
})
})
.then( callback( inline ) )
} )
}
response.anime 是一个 json 对象数组,它指向另一个 json 对象,这就是为什么我需要获取它以便获得正确的 json。
而且,replyInline 是一个只接受 json 并返回另一个的函数。
mal = 我的动漫列表 API
【问题讨论】:
-
你看过
Promise.all()吗? -
你需要
Promise.all和repsonse.anime.map -
顺便说一句,最后一个
.then肯定是错误的,因为.then需要一个函数作为参数 -
@nnnnnn 我试过但没用
-
不,你没有尝试,因为你的代码没有使用它
标签: javascript arrays json node.js promise