<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های محمد رضا</title>
        <link>https://virgool.io/feed/@Ordibeheshti</link>
        <description>گاه نوشته های یک برنامه نویس که دوست داره کارافرین بشه...</description>
        <language>fa</language>
        <pubDate>2026-06-16 17:13:15</pubDate>
        <image>
            <url>https://static.virgool.io/images/default-avatar.jpg</url>
            <title>محمد رضا</title>
            <link>https://virgool.io/@Ordibeheshti</link>
        </image>

                    <item>
                <title>اجرای یک فانکشن بعد از تکمیل فانکشن قبلی در Javascript به روش CallBack</title>
                <link>https://virgool.io/@Ordibeheshti/%D8%A7%D8%AC%D8%B1%D8%A7%DB%8C-%DB%8C%DA%A9-%D9%81%D8%A7%D9%86%DA%A9%D8%B4%D9%86-%D8%A8%D8%B9%D8%AF-%D8%A7%D8%B2-%D8%AA%DA%A9%D9%85%DB%8C%D9%84-%D9%81%D8%A7%D9%86%DA%A9%D8%B4%D9%86-%D9%82%D8%A8%D9%84%DB%8C-%D8%AF%D8%B1-javascript-%D8%A8%D9%87-%D8%B1%D9%88%D8%B4-callback-cw7mkaptenhl</link>
                <description>در این مثال دو تا فانکشن داریم که به صورت ajax از وب سرویس اطلاعاتی رو دریافت می کنند و در صورتی که هر کدام از فانکشن ها اطلاعات رو از سرور دریافت کردند و مشکلی نداشتند، فانکشن بعدی رو صدا کنند.فانکشن اصلیی برنامه:می خواهیم اگر  خروجی فانکشنFun1 صحیح بود فانکشن Fun2 اجرا بشود.function Main() {
      Fun1(function () {
            Fun2();
        });
 }فانکشن Fun1:فانکشن Fun1 یک پارامتر با نام CallBack با خودش دارد. توی خط 5 سرویس مربوطه صدا زده می شود ( فانکشن CallWebService به صورت ajax وب سرویس مربوطه رو صدا می زند). در صورتی که خروجی مورد نظر صحیح باشد، CallBack صدا زده می شد. و برنامه به فانکشن Main برمی گردد و Fun2 رو صدا می زند.function Fun1(callback) {
            var url = &amp;quotyour url&amp;quot
            var parameters = &#039;&#039;;
            try {
                var result = CallWebService(url, parameters);
                if (result == &#039;success&#039;) 
                    callback();
                else 
                    alert&#40;&amp;quotprocess faild&amp;quot&#41;;
            } catch (e) {
                alert&#40;&amp;quoterror happend&amp;quot&#41;;
            }
        }فانکشن Fun2:فانکشن Fun2 مثل یک فانکشن معمولی نوشته می شود و با توجه به خروجی سرویس، پیام مناسب را نمایش می دهد.function Fun2() {
            var url = &amp;quotyour url&amp;quot
            var parameters = &#039;&#039;;
            try {
                var result = CallWebService(url, parameters);
                if (result == &#039;success&#039;)
                    alert&#40;&amp;quotprocess success&amp;quot&#41;;
                else
                    alert&#40;&amp;quotprocess faild&amp;quot&#41;;
            } catch (e) {
                alert&#40;&amp;quoterror happend&amp;quot&#41;;
            }
        }
فانکشن CallWebService یک فانکشن ساده می باشد که سرویس مورد نظر را به صورت ajax صدا می زند.function CallWebService(WebserviceUrl, Parameter) {
           var rst = null;
            try {
                var options = {
                    type: &amp;quotPOST&amp;quot,
                    url: WebserviceUrl,
                    data: Parameter,
                    contentType: &amp;quotapplication/json; charset=utf-8&amp;quot,
                    dataType: &amp;quotjson&amp;quot,
                    async: false,
                   beforeSend: function () {
                        WaiterShow();
                    },
                    success: function (response) {
                        rst = response.d;
                    },
                    error: function (errAjax) {
                        alert&#40;&#039;Error in CallWebService: &#039; + errAjax.responseText&#41;;
                        rst = null;
                    },
                    complete: function (data) {
                        WaiterHide();
                    }
                };
                $.ajax(options);
            }
            catch (err) {
                alert&#40;&#039;Error in CallWebService: &#039; + err.message&#41;;
                rst = null;
            }
            return (rst);
        }امیدوارم مفید باشد.با سپاس</description>
                <category>محمد رضا</category>
                <author>محمد رضا</author>
                <pubDate>Tue, 01 Feb 2022 14:06:46 +0330</pubDate>
            </item>
            </channel>
</rss>