.then的返回值如何被函数return?

代码如下:
functionitem(args){
varposttitle;
letp=newPromise((resolve,reject)=>{
hexo.extend.filter.register('after_post_render',function(post){
posttitle=post.title;
resolve(posttitle);
//这里的post是文章的数据,而post.title则是文章的标题...
});
})
p.then((value)=>{
console.log(value);
})
returnvalue;
//如何return.then的value值?
}
需要大家的帮助!~T-T...非常感谢!~
HUH函数
浏览 277回答 2
2回答

莫回无

Promise中处理的是一个异步调用,异步调用是非阻塞式的,也就是说,你在调用的时候并不知道它什么时候结束,当然也就不会等到他返回一个有效数据之后再进行下一步处理。但是——异步调用的内容是知道什么时候结束的,它结束之后可以发出通知。我们一般使用回调函数来获得这个通知,比如functionitem(args,callback){//{console.log(value);callback(value);//console.log(`got${value}`)//console.log(`got${value}`));这样写起来似乎不是很符合常见的同步代码编写习惯,那可以用async/await,具体参考阅读:理解JavaScript的async/await

摇曳的蔷薇

嗯,我想说的是不能直接在then里面用吗?functionitem(){returnnewPromise(resolve=>{resolve('aaaa')})}item().then(value=>{console.log(value);})或者是你直接用个延时去取?
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript