javascript - TypeError: Cannot read property 'then' of undefined
大家讲道理
大家讲道理 2017-04-11 13:03:56
[JavaScript讨论组]

代码如下:

Wechat.prototype.uploadMaterial = function(type,material,permanent)
{
    var that = this;
    var form = {};
    var uploadUrl = api.temporary.upload;
    if(permanent)
    {
        uploadUrl = api.permanent.upload;
        //form继承permanent对象
        _.extend(form,permanent);
    }
    if(type === 'pic')
    {
        uploadUrl = api.permanent.uploadNewsPic;
    }else if(type === 'news')//图文
    {
        uploadUrl = api.permanent.uploadNews;
        form = material;
    }else{
        //meterial是一个文件路径
        form.media = fs.createReadStream(material)
    }

    return new Promise(function(resolve,reject){
        that
            .fetchAccessToken()
            .then(function(data){
                var url = uploadUrl + 'access_token=' + data.access_token;
                //不是永久类型,追加type
                if(!permanent)
                {
                    url += '&type='+type;
                }else{
                    form.access_token = data.access_token;
                }
                var options = {
                    method:'POST',
                    url : url,
                    json:true
                };
                //图文
                if(type === 'news')
                {
                    options.body = form;
                }else{
                    options.formData = form;
                }
                //对服务器发送请求
                request({method:'POST',url:url,formData:form,json:true}).then(function(response){
                    var _data = response[1];
                    console.log("执行")
                    if(_data) {
                        resolve(_data);
                    }else {
                        throw new Error('Upload meterial fails');
                    }
                })
                .catch(function(err){
                    reject(err);
                })
            })
    });
};

运行的时候,到then的时候总是报错,TypeError: Cannot read property 'then' of undefined
请问一下大神是哪里出错

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全部回复(1)
天蓬老师

你确定这个fetchAccessToken方法返回了一个Promise对象?

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号