gpt4 book ai didi

javascript - 在等待事件触发时,我应该明确地创建一个 promise 吗?

转载 作者:行者123 更新时间:2023-11-30 12:09:18 25 4
gpt4 key购买 nike

我正在编写一个函数来获取 rss 提要并返回上次更新的日期:

var FeedParser = require('feedparser'),
Promise = require('bluebird'),
request = require('request');

function getDate() {
var deferred = Promise.defer();
var feed = new FeedParser();
request('rss.xml');
.on('response',function() {
this.pipe(feed);
});

feed.on('meta',function() {
deferred.resolve(this.meta.date);
});

return deferred.promise;
}

这是反模式吗?执行此操作的正确方法是什么?

最佳答案

你可以稍微简化一下。

var FeedParser = require('feedparser'),
Promise = require('bluebird'),
request = require('request');

function getDate() {
return new Promise(function(resolve, reject){
var feed = new FeedParser();
request('rss.xml').on('error', reject).pipe(feed);
feed.on('meta',function() {
resolve(this.meta.date);
}).on('error', reject);
});
}

关于javascript - 在等待事件触发时,我应该明确地创建一个 promise 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34246532/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com