代码如下:
function item(args){
var posttitle;
let p = new Promise((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);
})
return value;
//如何return .then的value值?
}
需要大家的帮助!~T-T...非常感谢!~
Promise 中处理的是一个异步调用,异步调用是非阻塞式的,也就是说,你在调用的时候并不知道它什么时候结束,当然也就不会等到他返回一个有效数据之后再进行下一步处理。但是——
异步调用的内容是知道什么时候结束的,它结束之后可以发出通知。我们一般使用回调函数来获得这个通知,比如
不过除非特殊情况,一般不应该把 Promise 处理成回调,而应该直接返回 Promise,以便后续进行基于 Promise 规范的处理,比如
这样写起来似乎不是很符合常见的同步代码编写习惯,那可以用 async/await,具体参考阅读: